From 40797fbabf69fc0b8f22667591bfc90d2a1dc583 Mon Sep 17 00:00:00 2001 From: xRave110 Date: Thu, 1 Feb 2024 16:44:59 +0100 Subject: [PATCH 01/10] forge install: tarot-price-oracle --- .gitmodules | 3 +++ lib/tarot-price-oracle | 1 + 2 files changed, 4 insertions(+) create mode 160000 lib/tarot-price-oracle diff --git a/.gitmodules b/.gitmodules index 45bc574..7adb170 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,3 +16,6 @@ [submodule "lib/openzeppelin-contracts"] path = lib/openzeppelin-contracts url = https://github.com/OpenZeppelin/openzeppelin-contracts +[submodule "lib/tarot-price-oracle"] + path = lib/tarot-price-oracle + url = https://github.com/xrave110/tarot-price-oracle diff --git a/lib/tarot-price-oracle b/lib/tarot-price-oracle new file mode 160000 index 0000000..483959c --- /dev/null +++ b/lib/tarot-price-oracle @@ -0,0 +1 @@ +Subproject commit 483959c501ddab57e5215e47bbb257f04aa02b76 From de55775597e3e70bad951b6871a03823c4a454eb Mon Sep 17 00:00:00 2001 From: xRave110 Date: Fri, 7 Jun 2024 17:37:57 +0200 Subject: [PATCH 02/10] Simple instant exit feature --- src/exercise/DiscountExercise.sol | 70 ++++++++++++++++++++++++------- test/OptionsToken.t.sol | 59 ++++++++++++++++++++------ 2 files changed, 103 insertions(+), 26 deletions(-) diff --git a/src/exercise/DiscountExercise.sol b/src/exercise/DiscountExercise.sol index 54f7dbb..5c60528 100644 --- a/src/exercise/DiscountExercise.sol +++ b/src/exercise/DiscountExercise.sol @@ -13,6 +13,7 @@ import {OptionsToken} from "../OptionsToken.sol"; struct DiscountExerciseParams { uint256 maxPaymentAmount; uint256 deadline; + bool isInstantExit; } /// @title Options Token Exercise Contract @@ -30,6 +31,7 @@ contract DiscountExercise is BaseExercise { error Exercise__PastDeadline(); error Exercise__MultiplierOutOfRange(); error Exercise__InvalidOracle(); + error Exercise__FeeGreaterThanMax(); /// Events event Exercised(address indexed sender, address indexed recipient, uint256 amount, uint256 paymentAmount); @@ -41,7 +43,7 @@ contract DiscountExercise is BaseExercise { /// @notice The denominator for converting the multiplier into a decimal number. /// i.e. multiplier uses 4 decimals. - uint256 internal constant MULTIPLIER_DENOM = 10000; + uint256 internal constant BPS_DENOM = 10_000; /// Immutable parameters @@ -63,7 +65,9 @@ contract DiscountExercise is BaseExercise { /// @notice The amount of payment tokens the user can claim /// Used when the contract does not have enough tokens to pay the user - mapping (address => uint256) public credit; + mapping(address => uint256) public credit; + + uint256 public instantExitFee; constructor( OptionsToken oToken_, @@ -72,6 +76,7 @@ contract DiscountExercise is BaseExercise { IERC20 underlyingToken_, IOracle oracle_, uint256 multiplier_, + uint256 instantExitFee_, address[] memory feeRecipients_, uint256[] memory feeBPS_ ) BaseExercise(oToken_, feeRecipients_, feeBPS_) Owned(owner_) { @@ -80,6 +85,7 @@ contract DiscountExercise is BaseExercise { _setOracle(oracle_); _setMultiplier(multiplier_); + _setInstantExitFee(instantExitFee_); emit SetOracle(oracle_); } @@ -99,7 +105,14 @@ contract DiscountExercise is BaseExercise { onlyOToken returns (uint256 paymentAmount, address, uint256, uint256) { - return _exercise(from, amount, recipient, params); + DiscountExerciseParams memory _params = abi.decode(params, (DiscountExerciseParams)); + if (_params.isInstantExit) { + return _instantExitExercise(from, amount, recipient, _params); + } + else + { + return _discountExercise(from, amount, recipient, _params); + } } function claim(address to) external { @@ -119,8 +132,9 @@ contract DiscountExercise is BaseExercise { function _setOracle(IOracle oracle_) internal { (address paymentToken_, address underlyingToken_) = oracle_.getTokens(); - if (paymentToken_ != address(paymentToken) || underlyingToken_ != address(underlyingToken)) + if (paymentToken_ != address(paymentToken) || underlyingToken_ != address(underlyingToken)) { revert Exercise__InvalidOracle(); + } oracle = oracle_; emit SetOracle(oracle_); } @@ -133,30 +147,58 @@ contract DiscountExercise is BaseExercise { function _setMultiplier(uint256 multiplier_) internal { if ( - multiplier_ > MULTIPLIER_DENOM * 2 // over 200% - || multiplier_ < MULTIPLIER_DENOM / 10 // under 10% + multiplier_ > BPS_DENOM * 2 // over 200% + || multiplier_ < BPS_DENOM / 10 // under 10% ) revert Exercise__MultiplierOutOfRange(); multiplier = multiplier_; emit SetMultiplier(multiplier_); } - /// Internal functions + function setInstantExitFee(uint256 _instantExitFee) external onlyOwner { + _setInstantExitFee(_instantExitFee); + } - function _exercise(address from, uint256 amount, address recipient, bytes memory params) + function _setInstantExitFee(uint256 _instantExitFee) internal { + if (_instantExitFee > BPS_DENOM) { + revert Exercise__FeeGreaterThanMax(); + } + instantExitFee = _instantExitFee; + } + + /// Internal functions + function _instantExitExercise(address from, uint256 amount, address recipient, DiscountExerciseParams memory params) internal virtual returns (uint256 paymentAmount, address, uint256, uint256) { - // decode params - DiscountExerciseParams memory _params = abi.decode(params, (DiscountExerciseParams)); + if (block.timestamp > params.deadline) revert Exercise__PastDeadline(); - if (block.timestamp > _params.deadline) revert Exercise__PastDeadline(); + uint256 underlyingAmount = amount.mulDivUp(multiplier, BPS_DENOM); + uint256 feeAmount = amount.mulDivUp(instantExitFee, BPS_DENOM); + underlyingAmount -= feeAmount; + + // transfer underlying tokens from user to the set receivers + distributeFees(feeAmount, underlyingToken); + + // transfer underlying tokens to recipient + _pay(recipient, underlyingAmount); + + emit Exercised(from, recipient, underlyingAmount, paymentAmount); + } + + /// Internal functions + function _discountExercise(address from, uint256 amount, address recipient, DiscountExerciseParams memory params) + internal + virtual + returns (uint256 paymentAmount, address, uint256, uint256) + { + if (block.timestamp > params.deadline) revert Exercise__PastDeadline(); // apply multiplier to price - uint256 price = oracle.getPrice().mulDivUp(multiplier, MULTIPLIER_DENOM); + uint256 price = oracle.getPrice().mulDivUp(multiplier, BPS_DENOM); paymentAmount = amount.mulWadUp(price); - if (paymentAmount > _params.maxPaymentAmount) revert Exercise__SlippageTooHigh(); + if (paymentAmount > params.maxPaymentAmount) revert Exercise__SlippageTooHigh(); // transfer payment tokens from user to the set receivers distributeFeesFrom(paymentAmount, paymentToken, from); @@ -182,6 +224,6 @@ contract DiscountExercise is BaseExercise { /// @notice Returns the amount of payment tokens required to exercise the given amount of options tokens. /// @param amount The amount of options tokens to exercise function getPaymentAmount(uint256 amount) external view returns (uint256 paymentAmount) { - paymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(multiplier, MULTIPLIER_DENOM)); + paymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(multiplier, BPS_DENOM)); } } diff --git a/test/OptionsToken.t.sol b/test/OptionsToken.t.sol index 89207a5..76edb83 100644 --- a/test/OptionsToken.t.sol +++ b/test/OptionsToken.t.sol @@ -24,6 +24,7 @@ contract OptionsTokenTest is Test { uint256 constant ORACLE_INIT_TWAP_VALUE = 1e19; uint256 constant ORACLE_MIN_PRICE_DENOM = 10000; uint256 constant MAX_SUPPLY = 1e27; // the max supply of the options token & the underlying token + uint256 constant INSTANT_EXIT_FEE = 500; address owner; address tokenAdmin; @@ -67,10 +68,8 @@ contract OptionsTokenTest is Test { balancerTwapOracle = new MockBalancerTwapOracle(tokens); console.log(tokens[0], tokens[1]); oracle = new BalancerOracle(balancerTwapOracle, underlyingToken, owner, ORACLE_SECS, ORACLE_AGO, ORACLE_MIN_PRICE); - exerciser = - new DiscountExercise(optionsToken, owner, IERC20(address(paymentToken)), IERC20(underlyingToken), oracle, PRICE_MULTIPLIER, feeRecipients_, feeBPS_); - + new DiscountExercise(optionsToken, owner, IERC20(address(paymentToken)), IERC20(underlyingToken), oracle, PRICE_MULTIPLIER, INSTANT_EXIT_FEE, feeRecipients_, feeBPS_); TestERC20(underlyingToken).mint(address(exerciser), 1e20 ether); // add exerciser to the list of options @@ -100,7 +99,7 @@ contract OptionsTokenTest is Test { assertEqDecimal(optionsToken.balanceOf(address(this)), amount, 18); } - function test_exerciseHappyPath(uint256 amount, address recipient) public { + function test_discountExerciseHappyPath(uint256 amount, address recipient) public { amount = bound(amount, 100, MAX_SUPPLY); // mint options tokens @@ -112,7 +111,7 @@ contract OptionsTokenTest is Test { paymentToken.mint(address(this), expectedPaymentAmount); // exercise options tokens - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max}); + DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); (uint256 paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); // verify options tokens were transferred @@ -128,6 +127,42 @@ contract OptionsTokenTest is Test { assertEqDecimal(paymentAmount, expectedPaymentAmount, 18, "exercise returned wrong value"); } + function test_instantExitExerciseHappyPath(uint256 amount, address recipient) public { + amount = bound(amount, 10_000, MAX_SUPPLY); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + uint256 discountedUnderlying = amount.mulDivUp(PRICE_MULTIPLIER, 10_000); + uint256 expectedUnderlyingAmount = discountedUnderlying - amount.mulDivUp(INSTANT_EXIT_FEE, 10_000); + paymentToken.mint(address(this), expectedPaymentAmount); + console.log("discountedUnderlying:", discountedUnderlying); + console.log("expectedUnderlyingAmount:", expectedUnderlyingAmount); + + // exercise options tokens + DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: true}); + (uint256 paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + // verify options tokens were transferred + assertEqDecimal(optionsToken.balanceOf(address(this)), 0, 18, "user still has options tokens"); + assertEqDecimal(optionsToken.totalSupply(), 0, 18, "option tokens not burned"); + + // verify payment tokens were transferred + assertEq(paymentToken.balanceOf(address(this)), expectedPaymentAmount, "user lost payment tokens during instant exit"); + uint256 totalFee = amount.mulDivUp(INSTANT_EXIT_FEE, 10_000); + uint256 fee1 = totalFee.mulDivDown(feeBPS_[0], 10_000); + uint256 fee2 = totalFee - fee1; + console.log("paymentFee1: ", fee1); + console.log("paymentFee2: ", fee2); + assertEqDecimal(IERC20(underlyingToken).balanceOf(feeRecipients_[0]), fee1, 18, "fee recipient 1 didn't receive payment tokens"); + assertEqDecimal(IERC20(underlyingToken).balanceOf(feeRecipients_[1]), fee2, 18, "fee recipient 2 didn't receive payment tokens"); + assertEqDecimal(paymentAmount, 0, 18, "exercise returned wrong value"); + // assertEq(expectedUnderlyingAmount, IERC20(underlyingToken).balanceOf(recipient), "Recipient got wrong amount of underlying token"); + } + function test_exerciseMinPrice(uint256 amount, address recipient) public { amount = bound(amount, 1, MAX_SUPPLY); @@ -143,7 +178,7 @@ contract OptionsTokenTest is Test { paymentToken.mint(address(this), expectedPaymentAmount); // exercise options tokens - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max}); + DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); vm.expectRevert(bytes4(keccak256("BalancerOracle__BelowMinPrice()"))); optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); } @@ -163,7 +198,7 @@ contract OptionsTokenTest is Test { paymentToken.mint(address(this), expectedPaymentAmount); // exercise options tokens - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max}); + DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); (uint256 paidAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); // update multiplier @@ -195,7 +230,7 @@ contract OptionsTokenTest is Test { paymentToken.mint(address(this), expectedPaymentAmount); // exercise options tokens which should fail - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount - 1, deadline: type(uint256).max}); + DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount - 1, deadline: type(uint256).max, isInstantExit: false}); vm.expectRevert(DiscountExercise.Exercise__SlippageTooHigh.selector); optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); } @@ -218,7 +253,7 @@ contract OptionsTokenTest is Test { oracle.setParams(ORACLE_SECS, ORACLE_LARGEST_SAFETY_WINDOW, ORACLE_MIN_PRICE); // exercise options tokens which should fail - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max}); + DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); vm.expectRevert(BalancerOracle.BalancerOracle__TWAPOracleNotReady.selector); optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); } @@ -236,7 +271,7 @@ contract OptionsTokenTest is Test { paymentToken.mint(address(this), expectedPaymentAmount); // exercise options tokens - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: deadline}); + DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: deadline, isInstantExit: false}); if (amount != 0) { vm.expectRevert(DiscountExercise.Exercise__PastDeadline.selector); } @@ -254,7 +289,7 @@ contract OptionsTokenTest is Test { paymentToken.mint(address(this), expectedPaymentAmount); // exercise options tokens which should fail - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max}); + DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); vm.expectRevert(BaseExercise.Exercise__NotOToken.selector); exerciser.exercise(address(this), amount, recipient, abi.encode(params)); } @@ -275,7 +310,7 @@ contract OptionsTokenTest is Test { paymentToken.mint(address(this), expectedPaymentAmount); // exercise options tokens which should fail - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max}); + DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); vm.expectRevert(OptionsToken.OptionsToken__NotExerciseContract.selector); optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); } From 016ca86f5c319a7d7c47ae4364063da585c6e788 Mon Sep 17 00:00:00 2001 From: xRave110 Date: Tue, 18 Jun 2024 09:05:58 +0200 Subject: [PATCH 03/10] Zapping feature with tests --- .gitmodules | 3 + .vscode/settings.json | 4 + lib/vault-v2 | 1 + remappings.txt | 1 + src/exercise/BaseExercise.sol | 4 +- src/exercise/DiscountExercise.sol | 95 ++++--- src/helpers/SwapHelper.sol | 104 ++++++++ src/interfaces/ISwapperSwaps.sol | 128 +++++++++ test/Common.sol | 241 +++++++++++++++++ test/ItBscOptionsToken.t.solNOT | 407 +++++++++++++++++++++++++++++ test/ItModeOptionsToken.t.sol | 391 ++++++++++++++++++++++++++++ test/ItOpOptionsToken.t copy.sol | 413 ++++++++++++++++++++++++++++++ test/OptionsToken.t.sol | 142 ++++++---- test/mocks/ReaperSwapperMock.sol | 71 +++++ 14 files changed, 1920 insertions(+), 85 deletions(-) create mode 100644 .vscode/settings.json create mode 160000 lib/vault-v2 create mode 100644 src/helpers/SwapHelper.sol create mode 100644 src/interfaces/ISwapperSwaps.sol create mode 100644 test/Common.sol create mode 100644 test/ItBscOptionsToken.t.solNOT create mode 100644 test/ItModeOptionsToken.t.sol create mode 100644 test/ItOpOptionsToken.t copy.sol create mode 100644 test/mocks/ReaperSwapperMock.sol diff --git a/.gitmodules b/.gitmodules index 7adb170..c75bf00 100644 --- a/.gitmodules +++ b/.gitmodules @@ -19,3 +19,6 @@ [submodule "lib/tarot-price-oracle"] path = lib/tarot-price-oracle url = https://github.com/xrave110/tarot-price-oracle +[submodule "lib/vault-v2"] + path = lib/vault-v2 + url = https://github.com/Byte-Masons/vault-v2 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..2306f3c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "solidity.formatter": "forge", + "editor.formatOnSave": true +} \ No newline at end of file diff --git a/lib/vault-v2 b/lib/vault-v2 new file mode 160000 index 0000000..23df243 --- /dev/null +++ b/lib/vault-v2 @@ -0,0 +1 @@ +Subproject commit 23df243595d358986708544e03229501fc82b595 diff --git a/remappings.txt b/remappings.txt index d1a17b6..faaa3df 100644 --- a/remappings.txt +++ b/remappings.txt @@ -2,4 +2,5 @@ create3-factory/=lib/create3-factory/src/ v3-core/=lib/v3-core/contracts/ oz-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/ oz/=lib/openzeppelin-contracts/contracts/ +vault/=lib/vault-v2/src diff --git a/src/exercise/BaseExercise.sol b/src/exercise/BaseExercise.sol index 9de0cc6..959ff94 100644 --- a/src/exercise/BaseExercise.sol +++ b/src/exercise/BaseExercise.sol @@ -72,7 +72,7 @@ abstract contract BaseExercise is IExercise, Owned { /// @dev Sends the residual amount to the last fee recipient to avoid rounding errors function distributeFeesFrom(uint256 totalAmount, IERC20 token, address from) internal virtual { uint256 remaining = totalAmount; - for (uint256 i = 0; i < feeRecipients.length - 1; i++) { + for (uint256 i = 0; i < feeRecipients.length; i++) { uint256 feeAmount = totalAmount * feeBPS[i] / FEE_DENOMINATOR; token.safeTransferFrom(from, feeRecipients[i], feeAmount); remaining -= feeAmount; @@ -85,7 +85,7 @@ abstract contract BaseExercise is IExercise, Owned { /// @dev Sends the residual amount to the last fee recipient to avoid rounding errors function distributeFees(uint256 totalAmount, IERC20 token) internal virtual { uint256 remaining = totalAmount; - for (uint256 i = 0; i < feeRecipients.length - 1; i++) { + for (uint256 i = 0; i < feeRecipients.length; i++) { uint256 feeAmount = totalAmount * feeBPS[i] / FEE_DENOMINATOR; token.safeTransfer(feeRecipients[i], feeAmount); remaining -= feeAmount; diff --git a/src/exercise/DiscountExercise.sol b/src/exercise/DiscountExercise.sol index 5c60528..95d2f45 100644 --- a/src/exercise/DiscountExercise.sol +++ b/src/exercise/DiscountExercise.sol @@ -10,6 +10,10 @@ import {BaseExercise} from "../exercise/BaseExercise.sol"; import {IOracle} from "../interfaces/IOracle.sol"; import {OptionsToken} from "../OptionsToken.sol"; +import {ExchangeType, SwapProps, SwapHelper} from "../helpers/SwapHelper.sol"; + +import "forge-std/console.sol"; + struct DiscountExerciseParams { uint256 maxPaymentAmount; uint256 deadline; @@ -21,7 +25,7 @@ struct DiscountExerciseParams { /// @notice Contract that allows the holder of options tokens to exercise them, /// in this case, by purchasing the underlying token at a discount to the market price. /// @dev Assumes the underlying token and the payment token both use 18 decimals. -contract DiscountExercise is BaseExercise { +contract DiscountExercise is BaseExercise, SwapHelper { /// Library usage using SafeERC20 for IERC20; using FixedPointMathLib for uint256; @@ -32,6 +36,9 @@ contract DiscountExercise is BaseExercise { error Exercise__MultiplierOutOfRange(); error Exercise__InvalidOracle(); error Exercise__FeeGreaterThanMax(); + error Exercise__SlippageGreaterThanMax(); + error Exercise__ParamHasAddressZero(); + error Exercise__InvalidExchangeType(uint256); /// Events event Exercised(address indexed sender, address indexed recipient, uint256 amount, uint256 paymentAmount); @@ -40,11 +47,6 @@ contract DiscountExercise is BaseExercise { event SetMultiplier(uint256 indexed newMultiplier); /// Constants - - /// @notice The denominator for converting the multiplier into a decimal number. - /// i.e. multiplier uses 4 decimals. - uint256 internal constant BPS_DENOM = 10_000; - /// Immutable parameters /// @notice The token paid by the options token holder during redemption @@ -67,7 +69,9 @@ contract DiscountExercise is BaseExercise { /// Used when the contract does not have enough tokens to pay the user mapping(address => uint256) public credit; - uint256 public instantExitFee; + uint256 private feeAmount; + uint256 public minAmountToTriggerSwap; + uint256 public redeemBonus; constructor( OptionsToken oToken_, @@ -76,16 +80,17 @@ contract DiscountExercise is BaseExercise { IERC20 underlyingToken_, IOracle oracle_, uint256 multiplier_, - uint256 instantExitFee_, + uint256 redeemBonus_, address[] memory feeRecipients_, - uint256[] memory feeBPS_ - ) BaseExercise(oToken_, feeRecipients_, feeBPS_) Owned(owner_) { + uint256[] memory feeBPS_, + SwapProps memory swapProps_ + ) BaseExercise(oToken_, feeRecipients_, feeBPS_) Owned(owner_) SwapHelper(swapProps_) { paymentToken = paymentToken_; underlyingToken = underlyingToken_; _setOracle(oracle_); _setMultiplier(multiplier_); - _setInstantExitFee(instantExitFee_); + _setRedeemBonus(redeemBonus_); emit SetOracle(oracle_); } @@ -107,11 +112,9 @@ contract DiscountExercise is BaseExercise { { DiscountExerciseParams memory _params = abi.decode(params, (DiscountExerciseParams)); if (_params.isInstantExit) { - return _instantExitExercise(from, amount, recipient, _params); - } - else - { - return _discountExercise(from, amount, recipient, _params); + return _zap(from, amount, recipient, _params); + } else { + return _redeem(from, amount, recipient, _params); } } @@ -154,40 +157,62 @@ contract DiscountExercise is BaseExercise { emit SetMultiplier(multiplier_); } - function setInstantExitFee(uint256 _instantExitFee) external onlyOwner { - _setInstantExitFee(_instantExitFee); + function setRedeemBonus(uint256 _redeemBonus) external onlyOwner { + _setRedeemBonus(_redeemBonus); } - function _setInstantExitFee(uint256 _instantExitFee) internal { - if (_instantExitFee > BPS_DENOM) { + function _setRedeemBonus(uint256 _redeemBonus) internal { + if (_redeemBonus > BPS_DENOM) { revert Exercise__FeeGreaterThanMax(); } - instantExitFee = _instantExitFee; + redeemBonus = _redeemBonus; + } + + function setMinAmountToTriggerSwap(uint256 _minAmountToTriggerSwap) external onlyOwner { + minAmountToTriggerSwap = _minAmountToTriggerSwap; } /// Internal functions - function _instantExitExercise(address from, uint256 amount, address recipient, DiscountExerciseParams memory params) + function _zap(address from, uint256 amount, address recipient, DiscountExerciseParams memory params) internal virtual returns (uint256 paymentAmount, address, uint256, uint256) { if (block.timestamp > params.deadline) revert Exercise__PastDeadline(); - uint256 underlyingAmount = amount.mulDivUp(multiplier, BPS_DENOM); - uint256 feeAmount = amount.mulDivUp(instantExitFee, BPS_DENOM); - underlyingAmount -= feeAmount; + uint256 discountedUnderlying = amount.mulDivUp(multiplier, BPS_DENOM); + uint256 fee = discountedUnderlying.mulDivUp(redeemBonus, BPS_DENOM); + uint256 underlyingAmount = discountedUnderlying - fee; + + console.log("Discounted: %e \t fee: %e", discountedUnderlying, fee); + + // Fee amount in underlying tokens which is effect of not having redeem bonus + feeAmount += fee; + console.log("feeAmount: %s vs minAmountToTriggerSwap: %s", feeAmount, minAmountToTriggerSwap); + + if (feeAmount >= minAmountToTriggerSwap) { + uint256 minAmountOut = _getMinAmountOutData(feeAmount, swapProps.maxSwapSlippage, address(oracle)); + console.log("minAmountOut: ", minAmountOut); + /* Approve the underlying token to make swap */ + underlyingToken.approve(swapProps.swapper, feeAmount); + /* Swap underlying token to payment token (asset) */ + console.log("under before: %e", underlyingToken.balanceOf(address(this))); + _generalSwap(swapProps.exchangeTypes, address(underlyingToken), address(paymentToken), feeAmount, minAmountOut, swapProps.exchangeAddress); + feeAmount = 0; + // transfer payment tokens from user to the set receivers + console.log("Fee recipients: ", feeRecipients.length); + distributeFees(paymentToken.balanceOf(address(this)), paymentToken); + } - // transfer underlying tokens from user to the set receivers - distributeFees(feeAmount, underlyingToken); - - // transfer underlying tokens to recipient + // transfer underlying tokens to recipient without the bonus + console.log("Transferring underlying : %e", underlyingAmount); _pay(recipient, underlyingAmount); emit Exercised(from, recipient, underlyingAmount, paymentAmount); } /// Internal functions - function _discountExercise(address from, uint256 amount, address recipient, DiscountExerciseParams memory params) + function _redeem(address from, uint256 amount, address recipient, DiscountExerciseParams memory params) internal virtual returns (uint256 paymentAmount, address, uint256, uint256) @@ -195,9 +220,7 @@ contract DiscountExercise is BaseExercise { if (block.timestamp > params.deadline) revert Exercise__PastDeadline(); // apply multiplier to price - uint256 price = oracle.getPrice().mulDivUp(multiplier, BPS_DENOM); - - paymentAmount = amount.mulWadUp(price); + paymentAmount = _getPaymentAmount(amount); if (paymentAmount > params.maxPaymentAmount) revert Exercise__SlippageTooHigh(); // transfer payment tokens from user to the set receivers @@ -224,6 +247,12 @@ contract DiscountExercise is BaseExercise { /// @notice Returns the amount of payment tokens required to exercise the given amount of options tokens. /// @param amount The amount of options tokens to exercise function getPaymentAmount(uint256 amount) external view returns (uint256 paymentAmount) { + return _getPaymentAmount(amount); + } + + function _getPaymentAmount(uint256 amount) private view returns (uint256 paymentAmount) { + console.log("Price inside: ", oracle.getPrice()); paymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(multiplier, BPS_DENOM)); + // paymentAmount -= paymentAmount.mulDivUp(redeemBonus, BPS_DENOM); // redeem bonus applied } } diff --git a/src/helpers/SwapHelper.sol b/src/helpers/SwapHelper.sol new file mode 100644 index 0000000..bea68e7 --- /dev/null +++ b/src/helpers/SwapHelper.sol @@ -0,0 +1,104 @@ +// SPDX-License-Identifier: BUSL-1.1 + +pragma solidity ^0.8.0; + +import {ISwapperSwaps, MinAmountOutData, MinAmountOutKind} from "vault-v2/ReaperSwapper.sol"; +import {IOracle} from "../interfaces/IOracle.sol"; +import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; + +import "forge-std/console.sol"; + +enum ExchangeType { + UniV2, + Bal, + VeloSolid, + UniV3 +} + +struct SwapProps { + address swapper; + address exchangeAddress; + ExchangeType exchangeTypes; + uint256 maxSwapSlippage; +} + +abstract contract SwapHelper { + using FixedPointMathLib for uint256; + + /// @notice The denominator for converting the multiplier into a decimal number. + /// i.e. multiplier uses 4 decimals. + uint256 internal constant BPS_DENOM = 10_000; + SwapProps public swapProps; + + error NotAnOwner(); + error SwapHelper__SlippageGreaterThanMax(); + error SwapHelper__ParamHasAddressZero(); + error SwapHelper__AddressZero(); + error SwapHelper__InvalidExchangeType(uint256 exType); + + constructor(SwapProps memory _swapProps) { + _configSwapProps(_swapProps); + } + + function configSwapProps(SwapProps memory _swapProps) external virtual { + _configSwapProps(_swapProps); + } + + function _configSwapProps(SwapProps memory _swapProps) internal { + if (_swapProps.maxSwapSlippage > BPS_DENOM) { + revert SwapHelper__SlippageGreaterThanMax(); + } + if (_swapProps.exchangeAddress == address(0)) { + revert SwapHelper__ParamHasAddressZero(); + } + if (_swapProps.swapper == address(0)) { + revert SwapHelper__ParamHasAddressZero(); + } + swapProps = _swapProps; + } + + /** + * @dev Private function that allow to swap via multiple exchange types + * @param exType - type of exchange + * @param tokenIn - address of token in + * @param tokenOut - address of token out + * @param amount - amount of tokenIn to swap + * @param minAmountOut - minimal acceptable amount of tokenOut + * @param exchangeAddress - address of the exchange + */ + function _generalSwap(ExchangeType exType, address tokenIn, address tokenOut, uint256 amount, uint256 minAmountOut, address exchangeAddress) + internal + { + ISwapperSwaps _swapper = ISwapperSwaps(swapProps.swapper); + MinAmountOutData memory minAmountOutData = MinAmountOutData(MinAmountOutKind.Absolute, minAmountOut); + if (exType == ExchangeType.UniV2) { + console.log("Calling Univ2"); + _swapper.swapUniV2(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + } else if (exType == ExchangeType.Bal) { + _swapper.swapBal(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + console.log("HERE"); + } else if (exType == ExchangeType.VeloSolid) { + _swapper.swapVelo(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + } else if (exType == ExchangeType.UniV3) { + console.log("Calling Univ3"); + _swapper.swapUniV3(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + } else { + revert SwapHelper__InvalidExchangeType(uint256(exType)); + } + } + + /** + * @dev Private function that calculates minimal amount token out of swap using oracles + * @param _amountIn - amount of token to be swapped + * @param _maxSlippage - max allowed slippage + */ + function _getMinAmountOutData(uint256 _amountIn, uint256 _maxSlippage, address _oracle) internal view returns (uint256) { + uint256 minAmountOut = 0; + /* Get price from oracle */ + uint256 price = IOracle(_oracle).getPrice(); + /* Deduct slippage amount from predicted amount */ + minAmountOut = ((_amountIn.mulWadUp(price)) - (((_amountIn.mulWadUp(price)) * _maxSlippage) / BPS_DENOM)); + + return minAmountOut; + } +} diff --git a/src/interfaces/ISwapperSwaps.sol b/src/interfaces/ISwapperSwaps.sol new file mode 100644 index 0000000..2cf6215 --- /dev/null +++ b/src/interfaces/ISwapperSwaps.sol @@ -0,0 +1,128 @@ +// SPDX-License-Identifier: BUSL1.1 + +pragma solidity ^0.8.0; + +enum MinAmountOutKind { + Absolute, + ChainlinkBased +} + +struct MinAmountOutData { + MinAmountOutKind kind; + uint256 absoluteOrBPSValue; // for type "ChainlinkBased", value must be in BPS +} + +struct UniV3SwapData { + address[] path; + uint24[] fees; +} + +interface ISwapperSwaps { + function swapUniV2( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _router, + uint256 _deadline, + bool _tryCatchActive + ) external returns (uint256); + + function swapUniV2( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _router, + uint256 _deadline + ) external returns (uint256); + + function swapUniV2( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _router + ) external returns (uint256); + + function swapBal( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _vault, + uint256 _deadline, + bool _tryCatchActive + ) external returns (uint256); + + function swapBal( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _vault, + uint256 _deadline + ) external returns (uint256); + + function swapBal( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _vault + ) external returns (uint256); + + function swapThenaRam( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _router, + uint256 _deadline, + bool _tryCatchActive + ) external returns (uint256); + + function swapThenaRam( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _router, + uint256 _deadline + ) external returns (uint256); + + function swapThenaRam( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _router + ) external returns (uint256); + + function swapUniV3( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _router, + uint256 _deadline, + bool _tryCatchActive + ) external returns (uint256); + + function swapUniV3( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _router, + uint256 _deadline + ) external returns (uint256); + + function swapUniV3( + address _from, + address _to, + uint256 _amount, + MinAmountOutData memory _minAmountOutData, + address _router + ) external returns (uint256); +} diff --git a/test/Common.sol b/test/Common.sol new file mode 100644 index 0000000..843f5fe --- /dev/null +++ b/test/Common.sol @@ -0,0 +1,241 @@ +// SPDX-License-Identifier: BUSL-1.1 + +pragma solidity ^0.8.0; + +import "forge-std/Test.sol"; +import {ReaperVaultV2} from "vault-v2/ReaperVaultV2.sol"; +import {IERC20} from "oz/token/ERC20/IERC20.sol"; +import {ReaperSwapper, MinAmountOutData, MinAmountOutKind, IVeloRouter, ISwapRouter, UniV3SwapData} from "vault-v2/ReaperSwapper.sol"; +import {OptionsToken} from "../src/OptionsToken.sol"; +import {SwapProps, ExchangeType} from "../src/helpers/SwapHelper.sol"; +import {ERC1967Proxy} from "oz/proxy/ERC1967/ERC1967Proxy.sol"; +import {ERC20} from "solmate/tokens/ERC20.sol"; +import {DiscountExerciseParams, DiscountExercise} from "../src/exercise/DiscountExercise.sol"; +import {IOracle} from "../src/interfaces/IOracle.sol"; +import {ThenaOracle, IThenaPair} from "../src/oracles/ThenaOracle.sol"; +import {IUniswapV3Factory} from "vault-v2/interfaces/IUniswapV3Factory.sol"; +import {IUniswapV3Pool, UniswapV3Oracle} from "../src/oracles/UniswapV3Oracle.sol"; +import {MockBalancerTwapOracle} from "../test/mocks/MockBalancerTwapOracle.sol"; +import {BalancerOracle} from "../src/oracles/BalancerOracle.sol"; + +error Common__NotYetImplemented(); + +/* Constants */ +uint256 constant NON_ZERO_PROFIT = 1; +uint16 constant PRICE_MULTIPLIER = 5000; // 0.5 +uint256 constant INSTANT_EXIT_FEE = 500; // 0.05 +uint56 constant ORACLE_SECS = 30 minutes; +uint56 constant ORACLE_AGO = 2 minutes; +uint128 constant ORACLE_MIN_PRICE = 1e7; +uint56 constant ORACLE_LARGEST_SAFETY_WINDOW = 24 hours; +uint256 constant ORACLE_MIN_PRICE_DENOM = 10000; +uint256 constant BPS_DENOM = 10_000; +uint256 constant MAX_SUPPLY = 1e27; // the max supply of the options token & the underlying token + +uint256 constant AMOUNT = 2e18; // 2 ETH +address constant REWARDER = 0x6A0406B8103Ec68EE9A713A073C7bD587c5e04aD; +uint256 constant MIN_OATH_FOR_FUZZING = 1e19; + +/* OP */ +address constant OP_POOL_ADDRESSES_PROVIDER_V2 = 0xdDE5dC81e40799750B92079723Da2acAF9e1C6D6; // Granary (aavev2) +// AAVEv3 - 0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb; +address constant OP_WETH = 0x4200000000000000000000000000000000000006; +address constant OP_OATHV1 = 0x39FdE572a18448F8139b7788099F0a0740f51205; +address constant OP_OATHV2 = 0x00e1724885473B63bCE08a9f0a52F35b0979e35A; +address constant OP_CUSDC = 0xEC8FEa79026FfEd168cCf5C627c7f486D77b765F; +address constant OP_GUSDC = 0x7A0FDDBA78FF45D353B1630B77f4D175A00df0c0; +address constant OP_GOP = 0x30091e843deb234EBb45c7E1Da4bBC4C33B3f0B4; +address constant OP_SOOP = 0x8cD6b19A07d754bF36AdEEE79EDF4F2134a8F571; +address constant OP_USDC = 0x7F5c764cBc14f9669B88837ca1490cCa17c31607; +address constant OP_OP = 0x4200000000000000000000000000000000000042; +/* Balancer */ +address constant OP_DATA_PROVIDER = 0x9546F673eF71Ff666ae66d01Fd6E7C6Dae5a9995; +bytes32 constant OP_OATHV1_ETH_BPT = 0xd20f6f1d8a675cdca155cb07b5dc9042c467153f0002000000000000000000bc; // OATHv1/ETH BPT +bytes32 constant OP_OATHV2_ETH_BPT = 0xd13d81af624956327a24d0275cbe54b0ee0e9070000200000000000000000109; // OATHv2/ETH BPT +bytes32 constant OP_BTC_WETH_USDC_BPT = 0x5028497af0c9a54ea8c6d42a054c0341b9fc6168000100000000000000000004; +bytes32 constant OP_WETH_OP_USDC_BPT = 0x39965c9dab5448482cf7e002f583c812ceb53046000100000000000000000003; +address constant OP_BEETX_VAULT = 0xBA12222222228d8Ba445958a75a0704d566BF2C8; +/* Uniswap */ +address constant OP_UNIV3_ROUTERV = 0xE592427A0AEce92De3Edee1F18E0157C05861564; +address constant OP_UNIV3_FACTORY = 0x1F98431c8aD98523631AE4a59f267346ea31F984; +/* Velodrome */ +address constant OP_VELO_OATHV2_ETH_PAIR = 0xc3439bC1A747e545887192d6b7F8BE47f608473F; +address constant OP_VELO_ROUTER = 0xa062aE8A9c5e11aaA026fc2670B0D65cCc8B2858; +address constant OP_VELO_FACTORY = 0xF1046053aa5682b4F9a81b5481394DA16BE5FF5a; + +/* BSC */ +address constant BSC_LENDING_POOL = 0xad441B19a9948c3a3f38C0AB6CCbd853036851d2; +address constant BSC_ADDRESS_PROVIDER = 0xcD2f1565e6d2A83A167FDa6abFc10537d4e984f0; +address constant BSC_DATA_PROVIDER = 0xFa0AC9b741F0868B2a8C4a6001811a5153019818; +address constant BSC_HBR = 0x42c95788F791a2be3584446854c8d9BB01BE88A9; +address constant BSC_USDT = 0x55d398326f99059fF775485246999027B3197955; +address constant BSC_BTCB = 0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c; +address constant BSC_WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c; +address constant BSC_GUSDT = 0x686C55C8344E902CD8143Cf4BDF2c5089Be273c5; +address constant BSC_THENA_ROUTER = 0xd4ae6eCA985340Dd434D38F470aCCce4DC78D109; +address constant BSC_THENA_FACTORY = 0x2c788FE40A417612cb654b14a944cd549B5BF130; +address constant BSC_UNIV3_ROUTERV2 = 0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2; +address constant BSC_UNIV3_FACTORY = 0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7; +address constant BSC_PANCAKE_ROUTER = 0x1b81D678ffb9C0263b24A97847620C99d213eB14; +address constant BSC_PANCAKE_FACTORY = 0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865; +address constant BSC_REWARDER = 0x071c626C75248E4F672bAb8c21c089166F49B615; + +/* ARB */ +address constant ARB_USDCE = 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8; +address constant ARB_USDC = 0xaf88d065e77c8cC2239327C5EDb3A432268e5831; +address constant ARB_RAM = 0xAAA6C1E32C55A7Bfa8066A6FAE9b42650F262418; +address constant ARB_WETH = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; +/* Ramses */ +address constant ARB_RAM_ROUTER = 0xAAA87963EFeB6f7E0a2711F397663105Acb1805e; +address constant ARB_RAM_ROUTERV2 = 0xAA23611badAFB62D37E7295A682D21960ac85A90; //univ3 +address constant ARB_RAM_FACTORYV2 = 0xAA2cd7477c451E703f3B9Ba5663334914763edF8; + +/* MODE */ +address constant MODE_MODE = 0xDfc7C877a950e49D2610114102175A06C2e3167a; +address constant MODE_USDC = 0xd988097fb8612cc24eeC14542bC03424c656005f; +address constant MODE_WETH = 0x4200000000000000000000000000000000000006; +/* Velodrome */ +address constant MODE_VELO_USDC_MODE_PAIR = 0x283bA4E204DFcB6381BCBf2cb5d0e765A2B57bC2; // DECIMALS ISSUE +address constant MODE_VELO_WETH_MODE_PAIR = 0x0fba984c97539B3fb49ACDA6973288D0EFA903DB; +address constant MODE_VELO_ROUTER = 0x3a63171DD9BebF4D07BC782FECC7eb0b890C2A45; + +contract Common is Test { + IERC20 nativeToken; + IERC20 paymentToken; + IERC20 underlyingToken; + IERC20 wantToken; + IVeloRouter veloRouter; + ISwapRouter swapRouter; + IUniswapV3Factory univ3Factory; + ReaperSwapper reaperSwapper; + MockBalancerTwapOracle underlyingPaymentMock; + + address[] treasuries; + uint256[] feeBPS; + bytes32 paymentUnderlyingBpt; + bytes32 paymentWantBpt; + + address pool; + address addressProvider; + address dataProvider; + address rewarder; + address balancerVault; + address owner; + address gWantAddress; + address tokenAdmin; + address strategist = address(4); + address vault; + address management1; + address management2; + address management3; + address keeper; + + uint256 targetLtv = 0.77 ether; + uint256 maxLtv = 0.771 ether; + + OptionsToken optionsToken; + ERC1967Proxy tmpProxy; + OptionsToken optionsTokenProxy; + DiscountExercise exerciser; + + function fixture_setupAccountsAndFees(uint256 fee1, uint256 fee2) public { + /* Setup accounts */ + owner = makeAddr("owner"); + tokenAdmin = makeAddr("tokenAdmin"); + treasuries = new address[](2); + treasuries[0] = makeAddr("treasury1"); + treasuries[1] = makeAddr("treasury2"); + vault = makeAddr("vault"); + management1 = makeAddr("management1"); + management2 = makeAddr("management2"); + management3 = makeAddr("management3"); + keeper = makeAddr("keeper"); + + feeBPS = new uint256[](2); + feeBPS[0] = fee1; + feeBPS[1] = fee2; + } + + /* Functions */ + function fixture_prepareOptionToken(uint256 _amount, address _compounder, address _strategy, OptionsToken _optionsToken, address _tokenAdmin) + public + { + /* Mint options tokens and transfer them to the strategy (rewards simulation) */ + vm.prank(_tokenAdmin); + _optionsToken.mint(_strategy, _amount); + vm.prank(_strategy); + _optionsToken.approve(_compounder, _amount); + } + + function fixture_updateSwapperPaths(ExchangeType exchangeType) public { + address[2] memory paths = [address(underlyingToken), address(paymentToken)]; + + if (exchangeType == ExchangeType.Bal) { + /* Configure balancer like dexes */ + reaperSwapper.updateBalSwapPoolID(paths[0], paths[1], balancerVault, paymentUnderlyingBpt); + reaperSwapper.updateBalSwapPoolID(paths[1], paths[0], balancerVault, paymentUnderlyingBpt); + } else if (exchangeType == ExchangeType.VeloSolid) { + /* Configure thena ram like dexes */ + IVeloRouter.Route[] memory veloPath = new IVeloRouter.Route[](1); + veloPath[0] = IVeloRouter.Route(paths[0], paths[1], false, OP_VELO_FACTORY); + reaperSwapper.updateVeloSwapPath(paths[0], paths[1], address(veloRouter), veloPath); + veloPath[0] = IVeloRouter.Route(paths[1], paths[0], false, OP_VELO_FACTORY); + reaperSwapper.updateVeloSwapPath(paths[1], paths[0], address(veloRouter), veloPath); + } else if (exchangeType == ExchangeType.UniV3) { + /* Configure univ3 like dexes */ + uint24[] memory univ3Fees = new uint24[](1); + univ3Fees[0] = 500; + address[] memory univ3Path = new address[](2); + + univ3Path[0] = paths[0]; + univ3Path[1] = paths[1]; + UniV3SwapData memory swapPathAndFees = UniV3SwapData(univ3Path, univ3Fees); + reaperSwapper.updateUniV3SwapPath(paths[0], paths[1], address(swapRouter), swapPathAndFees); + } else { + revert Common__NotYetImplemented(); + } + } + + function fixture_getMockedOracle(ExchangeType exchangeType) public returns (IOracle) { + IOracle oracle; + address[] memory _tokens = new address[](2); + _tokens[0] = address(paymentToken); + _tokens[1] = address(underlyingToken); + if (exchangeType == ExchangeType.Bal) { + BalancerOracle underlyingPaymentOracle; + underlyingPaymentMock = new MockBalancerTwapOracle(_tokens); + underlyingPaymentOracle = + new BalancerOracle(underlyingPaymentMock, address(underlyingToken), owner, ORACLE_SECS, ORACLE_AGO, ORACLE_MIN_PRICE); + oracle = underlyingPaymentOracle; + } else if (exchangeType == ExchangeType.VeloSolid) { + IVeloRouter router = IVeloRouter(payable(address(veloRouter))); + ThenaOracle underlyingPaymentOracle; + address pair = router.pairFor(address(underlyingToken), address(paymentToken), false, OP_VELO_FACTORY); + underlyingPaymentOracle = new ThenaOracle(IThenaPair(pair), address(underlyingToken), owner, ORACLE_SECS, ORACLE_MIN_PRICE); + oracle = IOracle(address(underlyingPaymentOracle)); + } else if (exchangeType == ExchangeType.UniV3) { + IUniswapV3Pool univ3Pool = IUniswapV3Pool(univ3Factory.getPool(address(underlyingToken), address(paymentToken), 500)); + UniswapV3Oracle univ3Oracle = + new UniswapV3Oracle(univ3Pool, address(paymentToken), owner, uint32(ORACLE_SECS), uint32(ORACLE_AGO), ORACLE_MIN_PRICE); + oracle = IOracle(address(univ3Oracle)); + } else { + revert Common__NotYetImplemented(); + } + return oracle; + } + + function fixture_getSwapProps(ExchangeType exchangeType, uint256 slippage) public view returns (SwapProps memory) { + SwapProps memory swapProps; + + if (exchangeType == ExchangeType.Bal) { + swapProps = SwapProps(address(reaperSwapper), address(swapRouter), ExchangeType.Bal, slippage); + } else if (exchangeType == ExchangeType.VeloSolid) { + swapProps = SwapProps(address(reaperSwapper), address(veloRouter), ExchangeType.VeloSolid, slippage); + } else if (exchangeType == ExchangeType.UniV3) { + swapProps = SwapProps(address(reaperSwapper), address(swapRouter), ExchangeType.UniV3, slippage); + } else { + revert Common__NotYetImplemented(); + } + return swapProps; + } +} diff --git a/test/ItBscOptionsToken.t.solNOT b/test/ItBscOptionsToken.t.solNOT new file mode 100644 index 0000000..8508344 --- /dev/null +++ b/test/ItBscOptionsToken.t.solNOT @@ -0,0 +1,407 @@ +// SPDX-License-Identifier: AGPL-3.0 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; + +import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; +import {IERC20} from "oz/token/ERC20/IERC20.sol"; +import {ERC1967Proxy} from "oz/proxy/ERC1967/ERC1967Proxy.sol"; + +import {OptionsToken} from "../src/OptionsToken.sol"; +import {DiscountExerciseParams, DiscountExercise, BaseExercise, SwapProps, ExchangeType} from "../src/exercise/DiscountExercise.sol"; +import {TestERC20} from "./mocks/TestERC20.sol"; +import {ThenaOracle} from "../src/oracles/ThenaOracle.sol"; +import {MockBalancerTwapOracle} from "./mocks/MockBalancerTwapOracle.sol"; + +import {ReaperSwapper, MinAmountOutData, MinAmountOutKind, IThenaRamRouter, ISwapRouter, UniV3SwapData} from "vault-v2/ReaperSwapper.sol"; + +contract OptionsTokenTest is Test { + using FixedPointMathLib for uint256; + + uint256 constant FORK_BLOCK = 36349190; + string MAINNET_URL = vm.envString("BSC_RPC_URL"); + + address constant BSC_THENA_ROUTER = 0xd4ae6eCA985340Dd434D38F470aCCce4DC78D109; + address constant BSC_UNIV3_ROUTERV2 = 0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2; + address constant BSC_HBR = 0x42c95788F791a2be3584446854c8d9BB01BE88A9; + address constant BSC_WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c; + address constant ORACLE_CONTRACT = 0x733D732943aC1333771017e7c9D7b2d5abAdE5C4; + + uint16 constant PRICE_MULTIPLIER = 5000; // 0.5 + uint56 constant ORACLE_SECS = 30 minutes; + uint56 constant ORACLE_AGO = 2 minutes; + uint128 constant ORACLE_MIN_PRICE = 1e17; + uint56 constant ORACLE_LARGEST_SAFETY_WINDOW = 24 hours; + uint256 constant ORACLE_INIT_TWAP_VALUE = 1e19; + uint256 constant ORACLE_MIN_PRICE_DENOM = 10000; + + uint256 constant MAX_SUPPLY = 1e27; // the max supply of the options token & the underlying token + uint256 constant INSTANT_EXIT_FEE = 500; + + address owner; + address tokenAdmin; + address[] feeRecipients_; + uint256[] feeBPS_; + + OptionsToken optionsToken; + DiscountExercise exerciser; + ThenaOracle oracle; + MockBalancerTwapOracle balancerTwapOracle; + IERC20 paymentToken; + address underlyingToken; + ReaperSwapper reaperSwapper; + + function fixture_getSwapProps(ExchangeType exchangeType, uint256 slippage) public view returns (SwapProps memory) { + SwapProps memory swapProps; + + if (exchangeType == ExchangeType.ThenaRam) { + swapProps = SwapProps(address(reaperSwapper), BSC_THENA_ROUTER, ExchangeType.ThenaRam, slippage); + } else if (exchangeType == ExchangeType.UniV3) { + swapProps = SwapProps(address(reaperSwapper), BSC_UNIV3_ROUTERV2, ExchangeType.UniV3, slippage); + } else { + // revert + } + return swapProps; + } + + function fixture_updateSwapperPaths(ExchangeType exchangeType) public { + address[2] memory paths = [address(underlyingToken), address(paymentToken)]; + + if (exchangeType == ExchangeType.ThenaRam) { + /* Configure thena ram like dexes */ + IThenaRamRouter.route[] memory thenaPath = new IThenaRamRouter.route[](1); + thenaPath[0] = IThenaRamRouter.route(paths[0], paths[1], false); + reaperSwapper.updateThenaRamSwapPath(paths[0], paths[1], address(BSC_THENA_ROUTER), thenaPath); + thenaPath[0] = IThenaRamRouter.route(paths[1], paths[0], false); + reaperSwapper.updateThenaRamSwapPath(paths[1], paths[0], address(BSC_THENA_ROUTER), thenaPath); + } else if (exchangeType == ExchangeType.UniV3) { + /* Configure univ3 like dexes */ + uint24[] memory univ3Fees = new uint24[](1); + univ3Fees[0] = 500; + address[] memory univ3Path = new address[](2); + + univ3Path[0] = paths[0]; + univ3Path[1] = paths[1]; + UniV3SwapData memory swapPathAndFees = UniV3SwapData(univ3Path, univ3Fees); + reaperSwapper.updateUniV3SwapPath(paths[0], paths[1], address(BSC_UNIV3_ROUTERV2), swapPathAndFees); + } else { + // revert + } + } + + function setUp() public { + uint256 bscFork = vm.createFork(MAINNET_URL, FORK_BLOCK); + vm.selectFork(bscFork); + + // set up accounts + owner = makeAddr("owner"); + tokenAdmin = makeAddr("tokenAdmin"); + + feeRecipients_ = new address[](2); + feeRecipients_[0] = makeAddr("feeRecipient"); + feeRecipients_[1] = makeAddr("feeRecipient2"); + + feeBPS_ = new uint256[](2); + feeBPS_[0] = 1000; // 10% + feeBPS_[1] = 9000; // 90% + + // deploy contracts + paymentToken = IERC20(BSC_WBNB); + underlyingToken = BSC_HBR; + + address implementation = address(new OptionsToken()); + ERC1967Proxy proxy = new ERC1967Proxy(implementation, ""); + optionsToken = OptionsToken(address(proxy)); + optionsToken.initialize("TIT Call Option Token", "oTIT", tokenAdmin); + optionsToken.transferOwnership(owner); + + /* Reaper deployment and configuration */ + address[] memory strategists = new address[](1); + strategists[0] = makeAddr("strategist"); + reaperSwapper = new ReaperSwapper(); + ERC1967Proxy tmpProxy = new ERC1967Proxy(address(reaperSwapper), ""); + reaperSwapper = ReaperSwapper(address(tmpProxy)); + reaperSwapper.initialize(strategists, address(this), address(this)); + + fixture_updateSwapperPaths(ExchangeType.ThenaRam); + + SwapProps memory swapProps = fixture_getSwapProps(ExchangeType.ThenaRam, 200); + + address[] memory tokens = new address[](2); + tokens[0] = address(paymentToken); + tokens[1] = underlyingToken; + + balancerTwapOracle = new MockBalancerTwapOracle(tokens); + console.log(tokens[0], tokens[1]); + oracle = ThenaOracle(ORACLE_CONTRACT); + exerciser = new DiscountExercise( + optionsToken, + owner, + IERC20(address(paymentToken)), + IERC20(underlyingToken), + oracle, + PRICE_MULTIPLIER, + INSTANT_EXIT_FEE, + feeRecipients_, + feeBPS_, + swapProps + ); + deal(underlyingToken, address(exerciser), 1e20 ether); + + // add exerciser to the list of options + vm.startPrank(owner); + optionsToken.setExerciseContract(address(exerciser), true); + vm.stopPrank(); + + // set up contracts + balancerTwapOracle.setTwapValue(ORACLE_INIT_TWAP_VALUE); + paymentToken.approve(address(exerciser), type(uint256).max); + } + + function test_onlyTokenAdminCanMint(uint256 amount, address hacker) public { + vm.assume(hacker != tokenAdmin); + + // try minting as non token admin + vm.startPrank(hacker); + vm.expectRevert(OptionsToken.OptionsToken__NotTokenAdmin.selector); + optionsToken.mint(address(this), amount); + vm.stopPrank(); + + // mint as token admin + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // verify balance + assertEqDecimal(optionsToken.balanceOf(address(this)), amount, 18); + } + + function test_discountExerciseHappyPath(uint256 amount, address recipient) public { + amount = bound(amount, 100, MAX_SUPPLY); + vm.assume(recipient != address(0)); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + (uint256 paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + // verify options tokens were transferred + assertEqDecimal(optionsToken.balanceOf(address(this)), 0, 18, "user still has options tokens"); + assertEqDecimal(optionsToken.totalSupply(), 0, 18, "option tokens not burned"); + + // verify payment tokens were transferred + assertEqDecimal(paymentToken.balanceOf(address(this)), 0, 18, "user still has payment tokens"); + uint256 paymentFee1 = expectedPaymentAmount.mulDivDown(feeBPS_[0], 10000); + uint256 paymentFee2 = expectedPaymentAmount - paymentFee1; + assertEqDecimal(paymentToken.balanceOf(feeRecipients_[0]), paymentFee1, 18, "fee recipient 1 didn't receive payment tokens"); + assertEqDecimal(paymentToken.balanceOf(feeRecipients_[1]), paymentFee2, 18, "fee recipient 2 didn't receive payment tokens"); + assertEqDecimal(expectedPaymentAmount, paymentAmount, 18, "exercise returned wrong value"); + } + + function test_instantExitExerciseHappyPath(uint256 amount, address recipient) public { + amount = bound(amount, 1e16, 1e22); + vm.assume(recipient != address(0)); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + uint256 discountedUnderlying = amount.mulDivUp(PRICE_MULTIPLIER, 10_000); + uint256 expectedUnderlyingAmount = discountedUnderlying - amount.mulDivUp(INSTANT_EXIT_FEE, 10_000); + deal(address(paymentToken), address(this), expectedPaymentAmount); + console.log("discountedUnderlying:", discountedUnderlying); + console.log("expectedUnderlyingAmount:", expectedUnderlyingAmount); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: true}); + (uint256 paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + // verify options tokens were transferred + assertEqDecimal(optionsToken.balanceOf(address(this)), 0, 18, "user still has options tokens"); + assertEqDecimal(optionsToken.totalSupply(), 0, 18, "option tokens not burned"); + + // verify payment tokens were transferred + assertEq(paymentToken.balanceOf(address(this)), expectedPaymentAmount, "user lost payment tokens during instant exit"); + uint256 calcPaymentAmount = exerciser.getPaymentAmount(amount); + uint256 totalFee = calcPaymentAmount.mulDivUp(INSTANT_EXIT_FEE, 10_000); + uint256 fee1 = totalFee.mulDivDown(feeBPS_[0], 10_000); + uint256 fee2 = totalFee - fee1; + console.log("paymentFee1: ", fee1); + console.log("paymentFee2: ", fee2); + assertApproxEqRel(IERC20(paymentToken).balanceOf(feeRecipients_[0]), fee1, 10e16, "fee recipient 1 didn't receive payment tokens"); + assertApproxEqRel(IERC20(paymentToken).balanceOf(feeRecipients_[1]), fee2, 10e16, "fee recipient 2 didn't receive payment tokens"); + assertEqDecimal(paymentAmount, 0, 18, "exercise returned wrong value"); + assertApproxEqAbs(IERC20(underlyingToken).balanceOf(recipient), expectedUnderlyingAmount, 1, "Recipient got wrong amount of underlying token"); + } + + function test_exerciseMinPrice(uint256 amount, address recipient) public { + amount = bound(amount, 1, MAX_SUPPLY); + vm.assume(recipient != address(0)); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // set TWAP value such that the strike price is below the oracle's minPrice value + balancerTwapOracle.setTwapValue(ORACLE_MIN_PRICE - 1); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_MIN_PRICE); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + vm.expectRevert(bytes4(keccak256("ThenaOracle__BelowMinPrice()"))); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + } + + function test_priceMultiplier(uint256 amount, uint256 multiplier) public { + amount = bound(amount, 1, MAX_SUPPLY / 2); + + vm.prank(owner); + exerciser.setMultiplier(10000); // full price + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount * 2); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + (uint256 paidAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); + + // update multiplier + multiplier = bound(multiplier, 1000, 20000); + vm.prank(owner); + exerciser.setMultiplier(multiplier); + + // exercise options tokens + uint256 newPrice = oracle.getPrice().mulDivUp(multiplier, 10000); + uint256 newExpectedPaymentAmount = amount.mulWadUp(newPrice); + params.maxPaymentAmount = newExpectedPaymentAmount; + + deal(address(paymentToken), address(this), newExpectedPaymentAmount); + (uint256 newPaidAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); + // verify payment tokens were transferred + assertEqDecimal(paymentToken.balanceOf(address(this)), 0, 18, "user still has payment tokens"); + assertEq(newPaidAmount, paidAmount.mulDivUp(multiplier, 10000), "incorrect discount"); + } + + function test_exerciseHighSlippage(uint256 amount, address recipient) public { + amount = bound(amount, 1, MAX_SUPPLY); + vm.assume(recipient != address(0)); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens which should fail + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount - 1, deadline: type(uint256).max, isInstantExit: false}); + vm.expectRevert(DiscountExercise.Exercise__SlippageTooHigh.selector); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + } + + // function test_exerciseTwapOracleNotReady(uint256 amount, address recipient) public { + // amount = bound(amount, 1, MAX_SUPPLY); + + // // mint options tokens + // vm.prank(tokenAdmin); + // optionsToken.mint(address(this), amount); + + // // mint payment tokens + // uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + // deal(address(paymentToken), address(this), expectedPaymentAmount); + + // // update oracle params + // // such that the TWAP window becomes (block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW - ORACLE_SECS, block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW] + // // which is outside of the largest safety window + // // vm.prank(owner); + // // oracle.setParams(ORACLE_SECS, ORACLE_LARGEST_SAFETY_WINDOW, ORACLE_MIN_PRICE); + + // // exercise options tokens which should fail + // DiscountExerciseParams memory params = + // DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + // vm.expectRevert(ThenaOracle.ThenaOracle__TWAPOracleNotReady.selector); + // optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + // } + + function test_exercisePastDeadline(uint256 amount, address recipient, uint256 deadline) public { + amount = bound(amount, 0, MAX_SUPPLY); + deadline = bound(deadline, 0, block.timestamp - 1); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: deadline, isInstantExit: false}); + if (amount != 0) { + vm.expectRevert(DiscountExercise.Exercise__PastDeadline.selector); + } + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + } + + function test_exerciseNotOToken(uint256 amount, address recipient) public { + amount = bound(amount, 0, MAX_SUPPLY); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens which should fail + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + vm.expectRevert(BaseExercise.Exercise__NotOToken.selector); + exerciser.exercise(address(this), amount, recipient, abi.encode(params)); + } + + function test_exerciseNotExerciseContract(uint256 amount, address recipient) public { + amount = bound(amount, 1, MAX_SUPPLY); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // set option inactive + vm.prank(owner); + optionsToken.setExerciseContract(address(exerciser), false); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens which should fail + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + vm.expectRevert(OptionsToken.OptionsToken__NotExerciseContract.selector); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + } +} diff --git a/test/ItModeOptionsToken.t.sol b/test/ItModeOptionsToken.t.sol new file mode 100644 index 0000000..8287b09 --- /dev/null +++ b/test/ItModeOptionsToken.t.sol @@ -0,0 +1,391 @@ +// SPDX-License-Identifier: AGPL-3.0 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; + +import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; +import {IERC20} from "oz/token/ERC20/IERC20.sol"; +import {ERC1967Proxy} from "oz/proxy/ERC1967/ERC1967Proxy.sol"; + +import {OptionsToken} from "../src/OptionsToken.sol"; +import {DiscountExerciseParams, DiscountExercise, BaseExercise} from "../src/exercise/DiscountExercise.sol"; +// import {SwapProps, ExchangeType} from "../src/helpers/SwapHelper.sol"; +import {TestERC20} from "./mocks/TestERC20.sol"; +import {ThenaOracle} from "../src/oracles/ThenaOracle.sol"; +import {MockBalancerTwapOracle} from "./mocks/MockBalancerTwapOracle.sol"; + +import {ReaperSwapper, MinAmountOutData, MinAmountOutKind, IVeloRouter, ISwapRouter, UniV3SwapData} from "vault-v2/ReaperSwapper.sol"; + +import "./Common.sol"; + +contract ModeOptionsTokenTest is Test, Common { + using FixedPointMathLib for uint256; + + uint256 constant FORK_BLOCK = 9260950; + string MAINNET_URL = vm.envString("MODE_RPC_URL"); + + uint16 constant PRICE_MULTIPLIER = 5000; // 0.5 + uint56 constant ORACLE_SECS = 30 minutes; + uint56 constant ORACLE_AGO = 2 minutes; + uint128 constant ORACLE_MIN_PRICE = 1e17; + uint56 constant ORACLE_LARGEST_SAFETY_WINDOW = 24 hours; + uint256 constant ORACLE_INIT_TWAP_VALUE = 1e19; + uint128 constant ORACLE_MIN_PRICE_DENOM = 10000; + + uint256 constant MAX_SUPPLY = 1e27; // the max supply of the options token & the underlying token + uint256 constant INSTANT_EXIT_FEE = 500; + + address[] feeRecipients_; + uint256[] feeBPS_; + + ThenaOracle oracle; + MockBalancerTwapOracle balancerTwapOracle; + + // function fixture_getSwapProps(ExchangeType exchangeType, uint256 slippage) public view returns (SwapProps memory) { + // SwapProps memory swapProps; + + // if (exchangeType == ExchangeType.ThenaRam) { + // swapProps = SwapProps(address(reaperSwapper), BSC_THENA_ROUTER, ExchangeType.ThenaRam, slippage); + // } else if (exchangeType == ExchangeType.UniV3) { + // swapProps = SwapProps(address(reaperSwapper), BSC_UNIV3_ROUTERV2, ExchangeType.UniV3, slippage); + // } else { + // // revert + // } + // return swapProps; + // } + + // function fixture_updateSwapperPaths(ExchangeType exchangeType) public { + // address[2] memory paths = [address(underlyingToken), address(paymentToken)]; + + // if (exchangeType == ExchangeType.ThenaRam) { + // /* Configure thena ram like dexes */ + // IThenaRamRouter.route[] memory thenaPath = new IThenaRamRouter.route[](1); + // thenaPath[0] = IThenaRamRouter.route(paths[0], paths[1], false); + // reaperSwapper.updateThenaRamSwapPath(paths[0], paths[1], address(BSC_THENA_ROUTER), thenaPath); + // thenaPath[0] = IThenaRamRouter.route(paths[1], paths[0], false); + // reaperSwapper.updateThenaRamSwapPath(paths[1], paths[0], address(BSC_THENA_ROUTER), thenaPath); + // } else if (exchangeType == ExchangeType.UniV3) { + // /* Configure univ3 like dexes */ + // uint24[] memory univ3Fees = new uint24[](1); + // univ3Fees[0] = 500; + // address[] memory univ3Path = new address[](2); + + // univ3Path[0] = paths[0]; + // univ3Path[1] = paths[1]; + // UniV3SwapData memory swapPathAndFees = UniV3SwapData(univ3Path, univ3Fees); + // reaperSwapper.updateUniV3SwapPath(paths[0], paths[1], address(BSC_UNIV3_ROUTERV2), swapPathAndFees); + // } else { + // // revert + // } + // } + + function setUp() public { + /* Common assignments */ + ExchangeType exchangeType = ExchangeType.VeloSolid; + // nativeToken = IERC20(OP_WETH); + paymentToken = IERC20(MODE_MODE); + underlyingToken = IERC20(MODE_WETH); + // wantToken = IERC20(OP_OP); + // paymentUnderlyingBpt = OP_OATHV2_ETH_BPT; + // paymentWantBpt = OP_WETH_OP_USDC_BPT; + // balancerVault = OP_BEETX_VAULT; + // swapRouter = ISwapRouter(OP_BEETX_VAULT); + // univ3Factory = IUniswapV3Factory(OP_UNIV3_FACTORY); + veloRouter = IVeloRouter(MODE_VELO_ROUTER); + + /* Setup network */ + uint256 fork = vm.createFork(MAINNET_URL, FORK_BLOCK); + vm.selectFork(fork); + + // set up accounts + owner = makeAddr("owner"); + tokenAdmin = makeAddr("tokenAdmin"); + + feeRecipients_ = new address[](2); + feeRecipients_[0] = makeAddr("feeRecipient"); + feeRecipients_[1] = makeAddr("feeRecipient2"); + + feeBPS_ = new uint256[](2); + feeBPS_[0] = 1000; // 10% + feeBPS_[1] = 9000; // 90% + + address implementation = address(new OptionsToken()); + ERC1967Proxy proxy = new ERC1967Proxy(implementation, ""); + optionsToken = OptionsToken(address(proxy)); + optionsToken.initialize("TIT Call Option Token", "oTIT", tokenAdmin); + optionsToken.transferOwnership(owner); + + /* Reaper deployment and configuration */ + address[] memory strategists = new address[](1); + strategists[0] = makeAddr("strategist"); + reaperSwapper = new ReaperSwapper(); + ERC1967Proxy tmpProxy = new ERC1967Proxy(address(reaperSwapper), ""); + reaperSwapper = ReaperSwapper(address(tmpProxy)); + reaperSwapper.initialize(strategists, address(this), address(this)); + + fixture_updateSwapperPaths(ExchangeType.VeloSolid); + + SwapProps memory swapProps = fixture_getSwapProps(ExchangeType.VeloSolid, 200); + + address[] memory tokens = new address[](2); + tokens[0] = address(paymentToken); + tokens[1] = address(underlyingToken); + + balancerTwapOracle = new MockBalancerTwapOracle(tokens); + console.log(tokens[0], tokens[1]); + oracle = new ThenaOracle(IThenaPair(MODE_VELO_WETH_MODE_PAIR), address(underlyingToken), owner, ORACLE_SECS, ORACLE_MIN_PRICE_DENOM); + exerciser = new DiscountExercise( + optionsToken, + owner, + IERC20(address(paymentToken)), + underlyingToken, + oracle, + PRICE_MULTIPLIER, + INSTANT_EXIT_FEE, + feeRecipients_, + feeBPS_, + swapProps + ); + deal(address(underlyingToken), address(exerciser), 1e20 ether); + + // add exerciser to the list of options + vm.startPrank(owner); + optionsToken.setExerciseContract(address(exerciser), true); + vm.stopPrank(); + + // set up contracts + balancerTwapOracle.setTwapValue(ORACLE_INIT_TWAP_VALUE); + paymentToken.approve(address(exerciser), type(uint256).max); + } + + function test_modeRedeemPositiveScenario(uint256 amount, address recipient) public { + amount = bound(amount, 100, MAX_SUPPLY); + vm.assume(recipient != address(0)); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + (uint256 paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + // verify options tokens were transferred + assertEqDecimal(optionsToken.balanceOf(address(this)), 0, 18, "user still has options tokens"); + assertEqDecimal(optionsToken.totalSupply(), 0, 18, "option tokens not burned"); + + // verify payment tokens were transferred + assertEqDecimal(paymentToken.balanceOf(address(this)), 0, 18, "user still has payment tokens"); + uint256 paymentFee1 = expectedPaymentAmount.mulDivDown(feeBPS_[0], 10000); + uint256 paymentFee2 = expectedPaymentAmount - paymentFee1; + assertEqDecimal(paymentToken.balanceOf(feeRecipients_[0]), paymentFee1, 18, "fee recipient 1 didn't receive payment tokens"); + assertEqDecimal(paymentToken.balanceOf(feeRecipients_[1]), paymentFee2, 18, "fee recipient 2 didn't receive payment tokens"); + assertEqDecimal(expectedPaymentAmount, paymentAmount, 18, "exercise returned wrong value"); + } + + function test_modeZapPositiveScenario(uint256 amount, address recipient) public { + amount = bound(amount, 1e10, 1e18 - 1); + vm.assume(recipient != address(0)); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + uint256 discountedUnderlying = amount.mulDivUp(PRICE_MULTIPLIER, 10_000); + uint256 expectedUnderlyingAmount = discountedUnderlying - discountedUnderlying.mulDivUp(INSTANT_EXIT_FEE, 10_000); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + console.log("discountedUnderlying:", discountedUnderlying); + console.log("expectedUnderlyingAmount:", expectedUnderlyingAmount); + + // Calculate total fee from zapping + uint256 calcPaymentAmount = exerciser.getPaymentAmount(amount); + uint256 totalFee = calcPaymentAmount.mulDivUp(INSTANT_EXIT_FEE, 10_000); + + vm.prank(owner); + exerciser.setMinAmountToTriggerSwap(totalFee + 1); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: true}); + (uint256 paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + console.log("Exercise 1"); + assertEqDecimal(optionsToken.balanceOf(address(this)), 0, 18, "user still has options tokens"); + assertEqDecimal(optionsToken.totalSupply(), 0, 18, "option tokens not burned"); + + // verify payment tokens were not transferred + assertEq(paymentToken.balanceOf(address(this)), expectedPaymentAmount, "user lost payment tokens during instant exit"); + //verify whether distributions not happened + assertEq(IERC20(paymentToken).balanceOf(feeRecipients_[0]), 0, "fee recipient 1 received payment tokens but shouldn't"); + assertEq(IERC20(paymentToken).balanceOf(feeRecipients_[1]), 0, "fee recipient 2 received payment tokens but shouldn't"); + assertEqDecimal(paymentAmount, 0, 18, "exercise returned wrong value"); + uint256 balanceAfterFirstExercise = underlyingToken.balanceOf(recipient); + assertApproxEqAbs(balanceAfterFirstExercise, expectedUnderlyingAmount, 1, "Recipient got wrong amount of underlying token"); + + /*---------- Second call -----------*/ + amount = bound(amount, 1e18, 1e24); + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + expectedPaymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + discountedUnderlying = amount.mulDivUp(PRICE_MULTIPLIER, 10_000); + expectedUnderlyingAmount = discountedUnderlying - discountedUnderlying.mulDivUp(INSTANT_EXIT_FEE, 10_000); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + (paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + // verify options tokens were transferred + console.log("Exercise 2"); + assertEqDecimal(optionsToken.balanceOf(address(this)), 0, 18, "user still has options tokens"); + assertEqDecimal(optionsToken.totalSupply(), 0, 18, "option tokens not burned"); + + // verify payment tokens were not transferred + assertEq(paymentToken.balanceOf(address(this)), expectedPaymentAmount, "user lost payment tokens during instant exit"); + + // verify fee is distributed + calcPaymentAmount = exerciser.getPaymentAmount(amount); + totalFee += calcPaymentAmount.mulDivUp(INSTANT_EXIT_FEE, 10_000); + uint256 fee1 = totalFee.mulDivDown(feeBPS_[0], 10_000); + uint256 fee2 = totalFee - fee1; + console.log("paymentFee1: ", fee1); + console.log("paymentFee2: ", fee2); + assertApproxEqRel(IERC20(paymentToken).balanceOf(feeRecipients_[0]), fee1, 5e16, "fee recipient 1 didn't receive payment tokens"); + assertApproxEqRel(IERC20(paymentToken).balanceOf(feeRecipients_[1]), fee2, 5e16, "fee recipient 2 didn't receive payment tokens"); + assertEqDecimal(paymentAmount, 0, 18, "exercise returned wrong value"); + assertApproxEqAbs( + underlyingToken.balanceOf(recipient) + balanceAfterFirstExercise, + expectedUnderlyingAmount, + 1, + "Recipient got wrong amount of underlying token" + ); + } + + // function test_priceMultiplier(uint256 amount, uint256 multiplier) public { + // amount = bound(amount, 1, MAX_SUPPLY / 2); + + // vm.prank(owner); + // exerciser.setMultiplier(10000); // full price + + // // mint options tokens + // vm.prank(tokenAdmin); + // optionsToken.mint(address(this), amount * 2); + + // // mint payment tokens + // uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE); + // deal(address(paymentToken), address(this), expectedPaymentAmount); + + // // exercise options tokens + // DiscountExerciseParams memory params = + // DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + // (uint256 paidAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); + + // // update multiplier + // multiplier = bound(multiplier, 1000, 20000); + // vm.prank(owner); + // exerciser.setMultiplier(multiplier); + + // // exercise options tokens + // uint256 newPrice = oracle.getPrice().mulDivUp(multiplier, 10000); + // uint256 newExpectedPaymentAmount = amount.mulWadUp(newPrice); + // params.maxPaymentAmount = newExpectedPaymentAmount; + + // deal(address(paymentToken), address(this), newExpectedPaymentAmount); + // (uint256 newPaidAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); + // // verify payment tokens were transferred + // assertEqDecimal(paymentToken.balanceOf(address(this)), 0, 18, "user still has payment tokens"); + // assertEq(newPaidAmount, paidAmount.mulDivUp(multiplier, 10000), "incorrect discount"); + // } + + // function test_exerciseTwapOracleNotReady(uint256 amount, address recipient) public { + // amount = bound(amount, 1, MAX_SUPPLY); + + // // mint options tokens + // vm.prank(tokenAdmin); + // optionsToken.mint(address(this), amount); + + // // mint payment tokens + // uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + // deal(address(paymentToken), address(this), expectedPaymentAmount); + + // // update oracle params + // // such that the TWAP window becomes (block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW - ORACLE_SECS, block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW] + // // which is outside of the largest safety window + // // vm.prank(owner); + // // oracle.setParams(ORACLE_SECS, ORACLE_LARGEST_SAFETY_WINDOW, ORACLE_MIN_PRICE); + + // // exercise options tokens which should fail + // DiscountExerciseParams memory params = + // DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + // vm.expectRevert(ThenaOracle.ThenaOracle__TWAPOracleNotReady.selector); + // optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + // } + + // function test_exercisePastDeadline(uint256 amount, address recipient, uint256 deadline) public { + // amount = bound(amount, 0, MAX_SUPPLY); + // deadline = bound(deadline, 0, block.timestamp - 1); + + // // mint options tokens + // vm.prank(tokenAdmin); + // optionsToken.mint(address(this), amount); + + // // mint payment tokens + // uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + // deal(address(paymentToken), address(this), expectedPaymentAmount); + + // // exercise options tokens + // DiscountExerciseParams memory params = + // DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: deadline, isInstantExit: false}); + // if (amount != 0) { + // vm.expectRevert(DiscountExercise.Exercise__PastDeadline.selector); + // } + // optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + // } + + function test_modeExerciseNotOToken(uint256 amount, address recipient) public { + amount = bound(amount, 0, MAX_SUPPLY); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens which should fail + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + vm.expectRevert(BaseExercise.Exercise__NotOToken.selector); + exerciser.exercise(address(this), amount, recipient, abi.encode(params)); + } + + function test_modeExerciseNotExerciseContract(uint256 amount, address recipient) public { + amount = bound(amount, 1, MAX_SUPPLY); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // set option inactive + vm.prank(owner); + optionsToken.setExerciseContract(address(exerciser), false); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens which should fail + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + vm.expectRevert(OptionsToken.OptionsToken__NotExerciseContract.selector); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + } +} diff --git a/test/ItOpOptionsToken.t copy.sol b/test/ItOpOptionsToken.t copy.sol new file mode 100644 index 0000000..3d93c04 --- /dev/null +++ b/test/ItOpOptionsToken.t copy.sol @@ -0,0 +1,413 @@ +// SPDX-License-Identifier: AGPL-3.0 +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; + +import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; +import {IERC20} from "oz/token/ERC20/IERC20.sol"; +import {ERC1967Proxy} from "oz/proxy/ERC1967/ERC1967Proxy.sol"; + +import {OptionsToken} from "../src/OptionsToken.sol"; +import {DiscountExerciseParams, DiscountExercise, BaseExercise} from "../src/exercise/DiscountExercise.sol"; +// import {SwapProps, ExchangeType} from "../src/helpers/SwapHelper.sol"; +import {TestERC20} from "./mocks/TestERC20.sol"; +import {ThenaOracle} from "../src/oracles/ThenaOracle.sol"; +import {MockBalancerTwapOracle} from "./mocks/MockBalancerTwapOracle.sol"; + +import {ReaperSwapper, MinAmountOutData, MinAmountOutKind, IVeloRouter, ISwapRouter, UniV3SwapData} from "vault-v2/ReaperSwapper.sol"; + +import "./Common.sol"; + +contract OpOptionsTokenTest is Test, Common { + using FixedPointMathLib for uint256; + + uint256 constant FORK_BLOCK = 121377470; + string MAINNET_URL = vm.envString("OPTIMISM_RPC_URL"); + + uint16 constant PRICE_MULTIPLIER = 5000; // 0.5 + uint56 constant ORACLE_SECS = 30 minutes; + uint56 constant ORACLE_AGO = 2 minutes; + uint128 constant ORACLE_MIN_PRICE = 1e17; + uint56 constant ORACLE_LARGEST_SAFETY_WINDOW = 24 hours; + uint256 constant ORACLE_INIT_TWAP_VALUE = 1e19; + uint128 constant ORACLE_MIN_PRICE_DENOM = 10000; + + uint256 constant MAX_SUPPLY = 1e27; // the max supply of the options token & the underlying token + uint256 constant INSTANT_EXIT_FEE = 500; + + address[] feeRecipients_; + uint256[] feeBPS_; + + ThenaOracle oracle; + MockBalancerTwapOracle balancerTwapOracle; + + // function fixture_getSwapProps(ExchangeType exchangeType, uint256 slippage) public view returns (SwapProps memory) { + // SwapProps memory swapProps; + + // if (exchangeType == ExchangeType.ThenaRam) { + // swapProps = SwapProps(address(reaperSwapper), BSC_THENA_ROUTER, ExchangeType.ThenaRam, slippage); + // } else if (exchangeType == ExchangeType.UniV3) { + // swapProps = SwapProps(address(reaperSwapper), BSC_UNIV3_ROUTERV2, ExchangeType.UniV3, slippage); + // } else { + // // revert + // } + // return swapProps; + // } + + // function fixture_updateSwapperPaths(ExchangeType exchangeType) public { + // address[2] memory paths = [address(underlyingToken), address(paymentToken)]; + + // if (exchangeType == ExchangeType.ThenaRam) { + // /* Configure thena ram like dexes */ + // IThenaRamRouter.route[] memory thenaPath = new IThenaRamRouter.route[](1); + // thenaPath[0] = IThenaRamRouter.route(paths[0], paths[1], false); + // reaperSwapper.updateThenaRamSwapPath(paths[0], paths[1], address(BSC_THENA_ROUTER), thenaPath); + // thenaPath[0] = IThenaRamRouter.route(paths[1], paths[0], false); + // reaperSwapper.updateThenaRamSwapPath(paths[1], paths[0], address(BSC_THENA_ROUTER), thenaPath); + // } else if (exchangeType == ExchangeType.UniV3) { + // /* Configure univ3 like dexes */ + // uint24[] memory univ3Fees = new uint24[](1); + // univ3Fees[0] = 500; + // address[] memory univ3Path = new address[](2); + + // univ3Path[0] = paths[0]; + // univ3Path[1] = paths[1]; + // UniV3SwapData memory swapPathAndFees = UniV3SwapData(univ3Path, univ3Fees); + // reaperSwapper.updateUniV3SwapPath(paths[0], paths[1], address(BSC_UNIV3_ROUTERV2), swapPathAndFees); + // } else { + // // revert + // } + // } + + function setUp() public { + /* Common assignments */ + ExchangeType exchangeType = ExchangeType.VeloSolid; + nativeToken = IERC20(OP_WETH); + paymentToken = nativeToken; + underlyingToken = IERC20(OP_OATHV2); + wantToken = IERC20(OP_OP); + paymentUnderlyingBpt = OP_OATHV2_ETH_BPT; + paymentWantBpt = OP_WETH_OP_USDC_BPT; + balancerVault = OP_BEETX_VAULT; + swapRouter = ISwapRouter(OP_BEETX_VAULT); + univ3Factory = IUniswapV3Factory(OP_UNIV3_FACTORY); + veloRouter = IVeloRouter(OP_VELO_ROUTER); + + /* Setup network */ + uint256 fork = vm.createFork(MAINNET_URL, FORK_BLOCK); + vm.selectFork(fork); + + // set up accounts + owner = makeAddr("owner"); + tokenAdmin = makeAddr("tokenAdmin"); + + feeRecipients_ = new address[](2); + feeRecipients_[0] = makeAddr("feeRecipient"); + feeRecipients_[1] = makeAddr("feeRecipient2"); + + feeBPS_ = new uint256[](2); + feeBPS_[0] = 1000; // 10% + feeBPS_[1] = 9000; // 90% + + address implementation = address(new OptionsToken()); + ERC1967Proxy proxy = new ERC1967Proxy(implementation, ""); + optionsToken = OptionsToken(address(proxy)); + optionsToken.initialize("TIT Call Option Token", "oTIT", tokenAdmin); + optionsToken.transferOwnership(owner); + + /* Reaper deployment and configuration */ + address[] memory strategists = new address[](1); + strategists[0] = makeAddr("strategist"); + reaperSwapper = new ReaperSwapper(); + ERC1967Proxy tmpProxy = new ERC1967Proxy(address(reaperSwapper), ""); + reaperSwapper = ReaperSwapper(address(tmpProxy)); + reaperSwapper.initialize(strategists, address(this), address(this)); + + fixture_updateSwapperPaths(ExchangeType.VeloSolid); + + SwapProps memory swapProps = fixture_getSwapProps(ExchangeType.VeloSolid, 200); + + address[] memory tokens = new address[](2); + tokens[0] = address(paymentToken); + tokens[1] = address(underlyingToken); + + balancerTwapOracle = new MockBalancerTwapOracle(tokens); + console.log(tokens[0], tokens[1]); + oracle = new ThenaOracle(IThenaPair(OP_VELO_OATHV2_ETH_PAIR), address(underlyingToken), owner, ORACLE_SECS, ORACLE_MIN_PRICE_DENOM); + exerciser = new DiscountExercise( + optionsToken, + owner, + IERC20(address(paymentToken)), + underlyingToken, + oracle, + PRICE_MULTIPLIER, + INSTANT_EXIT_FEE, + feeRecipients_, + feeBPS_, + swapProps + ); + deal(address(underlyingToken), address(exerciser), 1e20 ether); + + // add exerciser to the list of options + vm.startPrank(owner); + optionsToken.setExerciseContract(address(exerciser), true); + vm.stopPrank(); + + // set up contracts + balancerTwapOracle.setTwapValue(ORACLE_INIT_TWAP_VALUE); + paymentToken.approve(address(exerciser), type(uint256).max); + } + + function test_opRedeemPositiveScenario(uint256 amount, address recipient) public { + amount = bound(amount, 100, MAX_SUPPLY); + vm.assume(recipient != address(0)); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + (uint256 paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + // verify options tokens were transferred + assertEqDecimal(optionsToken.balanceOf(address(this)), 0, 18, "user still has options tokens"); + assertEqDecimal(optionsToken.totalSupply(), 0, 18, "option tokens not burned"); + + // verify payment tokens were transferred + assertEqDecimal(paymentToken.balanceOf(address(this)), 0, 18, "user still has payment tokens"); + uint256 paymentFee1 = expectedPaymentAmount.mulDivDown(feeBPS_[0], 10000); + uint256 paymentFee2 = expectedPaymentAmount - paymentFee1; + assertEqDecimal(paymentToken.balanceOf(feeRecipients_[0]), paymentFee1, 18, "fee recipient 1 didn't receive payment tokens"); + assertEqDecimal(paymentToken.balanceOf(feeRecipients_[1]), paymentFee2, 18, "fee recipient 2 didn't receive payment tokens"); + assertEqDecimal(expectedPaymentAmount, paymentAmount, 18, "exercise returned wrong value"); + } + + function test_opZapPositiveScenario(uint256 amount, address recipient) public { + amount = bound(amount, 1e10, 1e18 - 1); + vm.assume(recipient != address(0)); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + uint256 discountedUnderlying = amount.mulDivUp(PRICE_MULTIPLIER, 10_000); + uint256 expectedUnderlyingAmount = discountedUnderlying - discountedUnderlying.mulDivUp(INSTANT_EXIT_FEE, 10_000); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + console.log("discountedUnderlying:", discountedUnderlying); + console.log("expectedUnderlyingAmount:", expectedUnderlyingAmount); + + // Calculate total fee from zapping + uint256 calcPaymentAmount = exerciser.getPaymentAmount(amount); + uint256 totalFee = calcPaymentAmount.mulDivUp(INSTANT_EXIT_FEE, 10_000); + + vm.prank(owner); + exerciser.setMinAmountToTriggerSwap(totalFee + 1); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: true}); + (uint256 paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + console.log("Exercise 1"); + assertEqDecimal(optionsToken.balanceOf(address(this)), 0, 18, "user still has options tokens"); + assertEqDecimal(optionsToken.totalSupply(), 0, 18, "option tokens not burned"); + + // verify payment tokens were not transferred + assertEq(paymentToken.balanceOf(address(this)), expectedPaymentAmount, "user lost payment tokens during instant exit"); + //verify whether distributions not happened + assertEq(IERC20(paymentToken).balanceOf(feeRecipients_[0]), 0, "fee recipient 1 received payment tokens but shouldn't"); + assertEq(IERC20(paymentToken).balanceOf(feeRecipients_[1]), 0, "fee recipient 2 received payment tokens but shouldn't"); + assertEqDecimal(paymentAmount, 0, 18, "exercise returned wrong value"); + uint256 balanceAfterFirstExercise = underlyingToken.balanceOf(recipient); + assertApproxEqAbs(balanceAfterFirstExercise, expectedUnderlyingAmount, 1, "Recipient got wrong amount of underlying token"); + + /*---------- Second call -----------*/ + amount = bound(amount, 1e18, 1e24); + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + expectedPaymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + discountedUnderlying = amount.mulDivUp(PRICE_MULTIPLIER, 10_000); + expectedUnderlyingAmount = discountedUnderlying - discountedUnderlying.mulDivUp(INSTANT_EXIT_FEE, 10_000); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + (paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + // verify options tokens were transferred + console.log("Exercise 2"); + assertEqDecimal(optionsToken.balanceOf(address(this)), 0, 18, "user still has options tokens"); + assertEqDecimal(optionsToken.totalSupply(), 0, 18, "option tokens not burned"); + + // verify payment tokens were not transferred + assertEq(paymentToken.balanceOf(address(this)), expectedPaymentAmount, "user lost payment tokens during instant exit"); + + // verify fee is distributed + calcPaymentAmount = exerciser.getPaymentAmount(amount); + totalFee += calcPaymentAmount.mulDivUp(INSTANT_EXIT_FEE, 10_000); + uint256 fee1 = totalFee.mulDivDown(feeBPS_[0], 10_000); + uint256 fee2 = totalFee - fee1; + console.log("paymentFee1: ", fee1); + console.log("paymentFee2: ", fee2); + assertApproxEqRel(IERC20(paymentToken).balanceOf(feeRecipients_[0]), fee1, 5e16, "fee recipient 1 didn't receive payment tokens"); + assertApproxEqRel(IERC20(paymentToken).balanceOf(feeRecipients_[1]), fee2, 5e16, "fee recipient 2 didn't receive payment tokens"); + assertEqDecimal(paymentAmount, 0, 18, "exercise returned wrong value"); + assertApproxEqAbs( + underlyingToken.balanceOf(recipient) + balanceAfterFirstExercise, + expectedUnderlyingAmount, + 1, + "Recipient got wrong amount of underlying token" + ); + } + + function test_opExerciseMinPrice(uint256 amount, address recipient) public { + amount = bound(amount, 1, MAX_SUPPLY); + vm.assume(recipient != address(0)); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // set TWAP value such that the strike price is below the oracle's minPrice value + balancerTwapOracle.setTwapValue(ORACLE_MIN_PRICE - 1); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_MIN_PRICE); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + vm.expectRevert(bytes4(keccak256("ThenaOracle__BelowMinPrice()"))); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + } + + // function test_priceMultiplier(uint256 amount, uint256 multiplier) public { + // amount = bound(amount, 1, MAX_SUPPLY / 2); + + // vm.prank(owner); + // exerciser.setMultiplier(10000); // full price + + // // mint options tokens + // vm.prank(tokenAdmin); + // optionsToken.mint(address(this), amount * 2); + + // // mint payment tokens + // uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE); + // deal(address(paymentToken), address(this), expectedPaymentAmount); + + // // exercise options tokens + // DiscountExerciseParams memory params = + // DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + // (uint256 paidAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); + + // // update multiplier + // multiplier = bound(multiplier, 1000, 20000); + // vm.prank(owner); + // exerciser.setMultiplier(multiplier); + + // // exercise options tokens + // uint256 newPrice = oracle.getPrice().mulDivUp(multiplier, 10000); + // uint256 newExpectedPaymentAmount = amount.mulWadUp(newPrice); + // params.maxPaymentAmount = newExpectedPaymentAmount; + + // deal(address(paymentToken), address(this), newExpectedPaymentAmount); + // (uint256 newPaidAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); + // // verify payment tokens were transferred + // assertEqDecimal(paymentToken.balanceOf(address(this)), 0, 18, "user still has payment tokens"); + // assertEq(newPaidAmount, paidAmount.mulDivUp(multiplier, 10000), "incorrect discount"); + // } + + // function test_exerciseTwapOracleNotReady(uint256 amount, address recipient) public { + // amount = bound(amount, 1, MAX_SUPPLY); + + // // mint options tokens + // vm.prank(tokenAdmin); + // optionsToken.mint(address(this), amount); + + // // mint payment tokens + // uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + // deal(address(paymentToken), address(this), expectedPaymentAmount); + + // // update oracle params + // // such that the TWAP window becomes (block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW - ORACLE_SECS, block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW] + // // which is outside of the largest safety window + // // vm.prank(owner); + // // oracle.setParams(ORACLE_SECS, ORACLE_LARGEST_SAFETY_WINDOW, ORACLE_MIN_PRICE); + + // // exercise options tokens which should fail + // DiscountExerciseParams memory params = + // DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + // vm.expectRevert(ThenaOracle.ThenaOracle__TWAPOracleNotReady.selector); + // optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + // } + + // function test_exercisePastDeadline(uint256 amount, address recipient, uint256 deadline) public { + // amount = bound(amount, 0, MAX_SUPPLY); + // deadline = bound(deadline, 0, block.timestamp - 1); + + // // mint options tokens + // vm.prank(tokenAdmin); + // optionsToken.mint(address(this), amount); + + // // mint payment tokens + // uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + // deal(address(paymentToken), address(this), expectedPaymentAmount); + + // // exercise options tokens + // DiscountExerciseParams memory params = + // DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: deadline, isInstantExit: false}); + // if (amount != 0) { + // vm.expectRevert(DiscountExercise.Exercise__PastDeadline.selector); + // } + // optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + // } + + function test_exerciseNotOToken(uint256 amount, address recipient) public { + amount = bound(amount, 0, MAX_SUPPLY); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens which should fail + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + vm.expectRevert(BaseExercise.Exercise__NotOToken.selector); + exerciser.exercise(address(this), amount, recipient, abi.encode(params)); + } + + function test_exerciseNotExerciseContract(uint256 amount, address recipient) public { + amount = bound(amount, 1, MAX_SUPPLY); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // set option inactive + vm.prank(owner); + optionsToken.setExerciseContract(address(exerciser), false); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens which should fail + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + vm.expectRevert(OptionsToken.OptionsToken__NotExerciseContract.selector); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + } +} diff --git a/test/OptionsToken.t.sol b/test/OptionsToken.t.sol index 76edb83..5f72a23 100644 --- a/test/OptionsToken.t.sol +++ b/test/OptionsToken.t.sol @@ -8,11 +8,14 @@ import {IERC20} from "oz/token/ERC20/IERC20.sol"; import {ERC1967Proxy} from "oz/proxy/ERC1967/ERC1967Proxy.sol"; import {OptionsToken} from "../src/OptionsToken.sol"; -import {DiscountExerciseParams, DiscountExercise, BaseExercise} from "../src/exercise/DiscountExercise.sol"; +import {DiscountExerciseParams, DiscountExercise, BaseExercise, SwapProps, ExchangeType} from "../src/exercise/DiscountExercise.sol"; import {TestERC20} from "./mocks/TestERC20.sol"; +import {IOracle} from "../src/interfaces/IOracle.sol"; import {BalancerOracle} from "../src/oracles/BalancerOracle.sol"; import {MockBalancerTwapOracle} from "./mocks/MockBalancerTwapOracle.sol"; +import {ReaperSwapperMock} from "./mocks/ReaperSwapperMock.sol"; + contract OptionsTokenTest is Test { using FixedPointMathLib for uint256; @@ -33,10 +36,11 @@ contract OptionsTokenTest is Test { OptionsToken optionsToken; DiscountExercise exerciser; - BalancerOracle oracle; + IOracle oracle; MockBalancerTwapOracle balancerTwapOracle; TestERC20 paymentToken; address underlyingToken; + ReaperSwapperMock reaperSwapper; function setUp() public { // set up accounts @@ -61,16 +65,37 @@ contract OptionsTokenTest is Test { optionsToken.initialize("TIT Call Option Token", "oTIT", tokenAdmin); optionsToken.transferOwnership(owner); + /* Reaper deployment and configuration */ + + uint256 slippage = 500; // 5% + address[] memory tokens = new address[](2); tokens[0] = address(paymentToken); tokens[1] = underlyingToken; balancerTwapOracle = new MockBalancerTwapOracle(tokens); console.log(tokens[0], tokens[1]); - oracle = new BalancerOracle(balancerTwapOracle, underlyingToken, owner, ORACLE_SECS, ORACLE_AGO, ORACLE_MIN_PRICE); - exerciser = - new DiscountExercise(optionsToken, owner, IERC20(address(paymentToken)), IERC20(underlyingToken), oracle, PRICE_MULTIPLIER, INSTANT_EXIT_FEE, feeRecipients_, feeBPS_); - TestERC20(underlyingToken).mint(address(exerciser), 1e20 ether); + oracle = IOracle(new BalancerOracle(balancerTwapOracle, underlyingToken, owner, ORACLE_SECS, ORACLE_AGO, ORACLE_MIN_PRICE)); + + reaperSwapper = new ReaperSwapperMock(oracle, address(underlyingToken), address(paymentToken)); + deal(underlyingToken, address(reaperSwapper), 1e27); + deal(address(paymentToken), address(reaperSwapper), 1e27); + + SwapProps memory swapProps = SwapProps(address(reaperSwapper), address(reaperSwapper), ExchangeType.Bal, slippage); + + exerciser = new DiscountExercise( + optionsToken, + owner, + IERC20(address(paymentToken)), + IERC20(underlyingToken), + oracle, + PRICE_MULTIPLIER, + INSTANT_EXIT_FEE, + feeRecipients_, + feeBPS_, + swapProps + ); + deal(underlyingToken, address(exerciser), 1e27); // add exerciser to the list of options vm.startPrank(owner); @@ -101,17 +126,19 @@ contract OptionsTokenTest is Test { function test_discountExerciseHappyPath(uint256 amount, address recipient) public { amount = bound(amount, 100, MAX_SUPPLY); + vm.assume(recipient != address(0)); // mint options tokens vm.prank(tokenAdmin); optionsToken.mint(address(this), amount); // mint payment tokens - uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); - paymentToken.mint(address(this), expectedPaymentAmount); + uint256 expectedPaymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); // exercise options tokens - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); (uint256 paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); // verify options tokens were transferred @@ -124,11 +151,15 @@ contract OptionsTokenTest is Test { uint256 paymentFee2 = expectedPaymentAmount - paymentFee1; assertEqDecimal(paymentToken.balanceOf(feeRecipients_[0]), paymentFee1, 18, "fee recipient 1 didn't receive payment tokens"); assertEqDecimal(paymentToken.balanceOf(feeRecipients_[1]), paymentFee2, 18, "fee recipient 2 didn't receive payment tokens"); - assertEqDecimal(paymentAmount, expectedPaymentAmount, 18, "exercise returned wrong value"); + assertEqDecimal(expectedPaymentAmount, paymentAmount, 18, "exercise returned wrong value"); } function test_instantExitExerciseHappyPath(uint256 amount, address recipient) public { - amount = bound(amount, 10_000, MAX_SUPPLY); + amount = bound(amount, 1e16, 1e22); + vm.assume( + recipient != address(0) && recipient != feeRecipients_[0] && recipient != feeRecipients_[1] && recipient != address(this) + && recipient != address(optionsToken) && recipient != address(exerciser) + ); // mint options tokens vm.prank(tokenAdmin); @@ -137,13 +168,14 @@ contract OptionsTokenTest is Test { // mint payment tokens uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); uint256 discountedUnderlying = amount.mulDivUp(PRICE_MULTIPLIER, 10_000); - uint256 expectedUnderlyingAmount = discountedUnderlying - amount.mulDivUp(INSTANT_EXIT_FEE, 10_000); - paymentToken.mint(address(this), expectedPaymentAmount); + uint256 expectedUnderlyingAmount = discountedUnderlying - discountedUnderlying.mulDivUp(INSTANT_EXIT_FEE, 10_000); + deal(address(paymentToken), address(this), expectedPaymentAmount); console.log("discountedUnderlying:", discountedUnderlying); console.log("expectedUnderlyingAmount:", expectedUnderlyingAmount); - + // exercise options tokens - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: true}); + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: true}); (uint256 paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); // verify options tokens were transferred @@ -152,19 +184,21 @@ contract OptionsTokenTest is Test { // verify payment tokens were transferred assertEq(paymentToken.balanceOf(address(this)), expectedPaymentAmount, "user lost payment tokens during instant exit"); - uint256 totalFee = amount.mulDivUp(INSTANT_EXIT_FEE, 10_000); + uint256 calcPaymentAmount = exerciser.getPaymentAmount(amount); + uint256 totalFee = calcPaymentAmount.mulDivUp(INSTANT_EXIT_FEE, 10_000); uint256 fee1 = totalFee.mulDivDown(feeBPS_[0], 10_000); uint256 fee2 = totalFee - fee1; console.log("paymentFee1: ", fee1); console.log("paymentFee2: ", fee2); - assertEqDecimal(IERC20(underlyingToken).balanceOf(feeRecipients_[0]), fee1, 18, "fee recipient 1 didn't receive payment tokens"); - assertEqDecimal(IERC20(underlyingToken).balanceOf(feeRecipients_[1]), fee2, 18, "fee recipient 2 didn't receive payment tokens"); + assertApproxEqRel(paymentToken.balanceOf(feeRecipients_[0]), fee1, 10e16, "fee recipient 1 didn't receive payment tokens"); + assertApproxEqRel(paymentToken.balanceOf(feeRecipients_[1]), fee2, 10e16, "fee recipient 2 didn't receive payment tokens"); assertEqDecimal(paymentAmount, 0, 18, "exercise returned wrong value"); - // assertEq(expectedUnderlyingAmount, IERC20(underlyingToken).balanceOf(recipient), "Recipient got wrong amount of underlying token"); + assertApproxEqAbs(IERC20(underlyingToken).balanceOf(recipient), expectedUnderlyingAmount, 1, "Recipient got wrong amount of underlying token"); } function test_exerciseMinPrice(uint256 amount, address recipient) public { amount = bound(amount, 1, MAX_SUPPLY); + vm.assume(recipient != address(0)); // mint options tokens vm.prank(tokenAdmin); @@ -175,10 +209,11 @@ contract OptionsTokenTest is Test { // mint payment tokens uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_MIN_PRICE); - paymentToken.mint(address(this), expectedPaymentAmount); + deal(address(paymentToken), address(this), expectedPaymentAmount); // exercise options tokens - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); vm.expectRevert(bytes4(keccak256("BalancerOracle__BelowMinPrice()"))); optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); } @@ -195,10 +230,11 @@ contract OptionsTokenTest is Test { // mint payment tokens uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE); - paymentToken.mint(address(this), expectedPaymentAmount); + deal(address(paymentToken), address(this), expectedPaymentAmount); // exercise options tokens - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); (uint256 paidAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); // update multiplier @@ -211,7 +247,7 @@ contract OptionsTokenTest is Test { uint256 newExpectedPaymentAmount = amount.mulWadUp(newPrice); params.maxPaymentAmount = newExpectedPaymentAmount; - paymentToken.mint(address(this), newExpectedPaymentAmount); + deal(address(paymentToken), address(this), newExpectedPaymentAmount); (uint256 newPaidAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); // verify payment tokens were transferred assertEqDecimal(paymentToken.balanceOf(address(this)), 0, 18, "user still has payment tokens"); @@ -220,6 +256,7 @@ contract OptionsTokenTest is Test { function test_exerciseHighSlippage(uint256 amount, address recipient) public { amount = bound(amount, 1, MAX_SUPPLY); + vm.assume(recipient != address(0)); // mint options tokens vm.prank(tokenAdmin); @@ -227,36 +264,38 @@ contract OptionsTokenTest is Test { // mint payment tokens uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); - paymentToken.mint(address(this), expectedPaymentAmount); + deal(address(paymentToken), address(this), expectedPaymentAmount); // exercise options tokens which should fail - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount - 1, deadline: type(uint256).max, isInstantExit: false}); + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount - 1, deadline: type(uint256).max, isInstantExit: false}); vm.expectRevert(DiscountExercise.Exercise__SlippageTooHigh.selector); optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); } - function test_exerciseTwapOracleNotReady(uint256 amount, address recipient) public { - amount = bound(amount, 1, MAX_SUPPLY); + // function test_exerciseTwapOracleNotReady(uint256 amount, address recipient) public { + // amount = bound(amount, 1, MAX_SUPPLY); - // mint options tokens - vm.prank(tokenAdmin); - optionsToken.mint(address(this), amount); + // // mint options tokens + // vm.prank(tokenAdmin); + // optionsToken.mint(address(this), amount); - // mint payment tokens - uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); - paymentToken.mint(address(this), expectedPaymentAmount); + // // mint payment tokens + // uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + // deal(address(paymentToken), address(this), expectedPaymentAmount); - // update oracle params - // such that the TWAP window becomes (block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW - ORACLE_SECS, block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW] - // which is outside of the largest safety window - vm.prank(owner); - oracle.setParams(ORACLE_SECS, ORACLE_LARGEST_SAFETY_WINDOW, ORACLE_MIN_PRICE); + // // update oracle params + // // such that the TWAP window becomes (block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW - ORACLE_SECS, block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW] + // // which is outside of the largest safety window + // // vm.prank(owner); + // // oracle.setParams(ORACLE_SECS, ORACLE_LARGEST_SAFETY_WINDOW, ORACLE_MIN_PRICE); - // exercise options tokens which should fail - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); - vm.expectRevert(BalancerOracle.BalancerOracle__TWAPOracleNotReady.selector); - optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); - } + // // exercise options tokens which should fail + // DiscountExerciseParams memory params = + // DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + // vm.expectRevert(ThenaOracle.ThenaOracle__TWAPOracleNotReady.selector); + // optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + // } function test_exercisePastDeadline(uint256 amount, address recipient, uint256 deadline) public { amount = bound(amount, 0, MAX_SUPPLY); @@ -268,10 +307,11 @@ contract OptionsTokenTest is Test { // mint payment tokens uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); - paymentToken.mint(address(this), expectedPaymentAmount); + deal(address(paymentToken), address(this), expectedPaymentAmount); // exercise options tokens - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: deadline, isInstantExit: false}); + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: deadline, isInstantExit: false}); if (amount != 0) { vm.expectRevert(DiscountExercise.Exercise__PastDeadline.selector); } @@ -286,10 +326,11 @@ contract OptionsTokenTest is Test { optionsToken.mint(address(this), amount); uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); - paymentToken.mint(address(this), expectedPaymentAmount); + deal(address(paymentToken), address(this), expectedPaymentAmount); // exercise options tokens which should fail - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); vm.expectRevert(BaseExercise.Exercise__NotOToken.selector); exerciser.exercise(address(this), amount, recipient, abi.encode(params)); } @@ -307,10 +348,11 @@ contract OptionsTokenTest is Test { // mint payment tokens uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); - paymentToken.mint(address(this), expectedPaymentAmount); + deal(address(paymentToken), address(this), expectedPaymentAmount); // exercise options tokens which should fail - DiscountExerciseParams memory params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); vm.expectRevert(OptionsToken.OptionsToken__NotExerciseContract.selector); optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); } diff --git a/test/mocks/ReaperSwapperMock.sol b/test/mocks/ReaperSwapperMock.sol new file mode 100644 index 0000000..2afa2f7 --- /dev/null +++ b/test/mocks/ReaperSwapperMock.sol @@ -0,0 +1,71 @@ +//SPDX-License-Identifier: AGPL-3.0 +pragma solidity ^0.8.0; + +import {IOracle} from "../../src/interfaces/IOracle.sol"; + +import {ISwapperSwaps, MinAmountOutData, MinAmountOutKind} from "vault-v2/ReaperSwapper.sol"; +import {IERC20} from "oz/token/ERC20/IERC20.sol"; +import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; + +import "forge-std/console.sol"; + +contract ReaperSwapperMock { + using FixedPointMathLib for uint256; + + IOracle oracle; + address underlyingToken; + address paymentToken; + + constructor(IOracle _oracle, address _underlyingToken, address _paymentToken) { + oracle = _oracle; + underlyingToken = _underlyingToken; + paymentToken = _paymentToken; + } + + function swapUniV2(address tokenIn, address tokenOut, uint256 amount, MinAmountOutData memory minAmountOutData, address exchangeAddress) + public + returns (uint256) + { + console.log("Called Univ2"); + return _swap(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + } + + function swapBal(address tokenIn, address tokenOut, uint256 amount, MinAmountOutData memory minAmountOutData, address exchangeAddress) + public + returns (uint256) + { + console.log("Called Bal"); + return _swap(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + } + + function swapVelo(address tokenIn, address tokenOut, uint256 amount, MinAmountOutData memory minAmountOutData, address exchangeAddress) + public + returns (uint256) + { + console.log("Called Velo"); + return _swap(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + } + + function swapUniV3(address tokenIn, address tokenOut, uint256 amount, MinAmountOutData memory minAmountOutData, address exchangeAddress) + public + returns (uint256) + { + console.log("Called Univ3"); + return _swap(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + } + + function _swap(address tokenIn, address tokenOut, uint256 amount, MinAmountOutData memory minAmountOutData, address exchangeAddress) + private + returns (uint256) + { + (address oraclePaymentToken, address oracleUnderlyingToken) = oracle.getTokens(); + require(tokenIn == address(oracleUnderlyingToken) || tokenIn == address(oraclePaymentToken), "Not allowed token in"); + require(tokenOut == address(oracleUnderlyingToken) || tokenOut == address(oraclePaymentToken), "Not allowed token"); + IERC20(tokenIn).transferFrom(msg.sender, address(this), amount); + console.log("Price from oracle is: %e", oracle.getPrice()); + uint256 amountToSend = (oracleUnderlyingToken == tokenIn) ? amount.mulWadUp(oracle.getPrice()) : (amount * 1e18) / oracle.getPrice(); + console.log("Amount to send is : %e", amountToSend); + IERC20(tokenOut).transfer(msg.sender, amountToSend); + return amountToSend; + } +} From b7e5e4c5aa2c0b6edee727578ae7fe4348f4b9c5 Mon Sep 17 00:00:00 2001 From: xRave110 Date: Thu, 20 Jun 2024 06:20:09 +0200 Subject: [PATCH 04/10] Comments and refactor --- hardhat.config.ts | 40 ++++++++++++++++++++++++------- src/exercise/BaseExercise.sol | 4 ++-- src/exercise/DiscountExercise.sol | 26 ++++++++++++-------- 3 files changed, 49 insertions(+), 21 deletions(-) diff --git a/hardhat.config.ts b/hardhat.config.ts index b7c2f29..f5f1364 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -9,16 +9,22 @@ import { subtask } from "hardhat/config"; import { config as dotenvConfig } from "dotenv"; +// import "@nomiclabs/hardhat-ethers"; +import "@nomicfoundation/hardhat-verify"; + dotenvConfig(); const PRIVATE_KEY = process.env.PRIVATE_KEY || ""; const config: HardhatUserConfig = { solidity: { - version: "0.8.19", - settings: { - optimizer: { enabled: true, runs: 9999 } - } + version: "0.8.20", + // settings: { + // optimizer: { enabled: true, runs: 200 } + // } + }, + sourcify: { + enabled: true }, paths: { sources: "./src", @@ -35,12 +41,28 @@ const config: HardhatUserConfig = { chainId: 56, accounts: [`0x${PRIVATE_KEY}`], }, + mode: { + url: "https://mainnet.mode.network/", + chainId: 34443, + accounts: [`0x${PRIVATE_KEY}`], + }, }, - etherscan: { - apiKey: { - bsc: process.env.ETHERSCAN_KEY || "", - } - }, + // etherscan: { + // apiKey: { + // bsc: process.env.ETHERSCAN_KEY || "", + // }, + // customChains: [ + // { + // network: "mode", + // chainId: 34443, + // urls: { + // apiURL: "https://explorer.mode.network", + // browserURL: "https://explorer.mode.network" + // } + // } + // ] + // }, + }; subtask(TASK_COMPILE_SOLIDITY_GET_SOURCE_PATHS).setAction(async (_, hre, runSuper) => { diff --git a/src/exercise/BaseExercise.sol b/src/exercise/BaseExercise.sol index 959ff94..9de0cc6 100644 --- a/src/exercise/BaseExercise.sol +++ b/src/exercise/BaseExercise.sol @@ -72,7 +72,7 @@ abstract contract BaseExercise is IExercise, Owned { /// @dev Sends the residual amount to the last fee recipient to avoid rounding errors function distributeFeesFrom(uint256 totalAmount, IERC20 token, address from) internal virtual { uint256 remaining = totalAmount; - for (uint256 i = 0; i < feeRecipients.length; i++) { + for (uint256 i = 0; i < feeRecipients.length - 1; i++) { uint256 feeAmount = totalAmount * feeBPS[i] / FEE_DENOMINATOR; token.safeTransferFrom(from, feeRecipients[i], feeAmount); remaining -= feeAmount; @@ -85,7 +85,7 @@ abstract contract BaseExercise is IExercise, Owned { /// @dev Sends the residual amount to the last fee recipient to avoid rounding errors function distributeFees(uint256 totalAmount, IERC20 token) internal virtual { uint256 remaining = totalAmount; - for (uint256 i = 0; i < feeRecipients.length; i++) { + for (uint256 i = 0; i < feeRecipients.length - 1; i++) { uint256 feeAmount = totalAmount * feeBPS[i] / FEE_DENOMINATOR; token.safeTransfer(feeRecipients[i], feeAmount); remaining -= feeAmount; diff --git a/src/exercise/DiscountExercise.sol b/src/exercise/DiscountExercise.sol index 95d2f45..5417f45 100644 --- a/src/exercise/DiscountExercise.sol +++ b/src/exercise/DiscountExercise.sol @@ -3,6 +3,7 @@ pragma solidity ^0.8.13; import {Owned} from "solmate/auth/Owned.sol"; import {IERC20} from "oz/token/ERC20/IERC20.sol"; +import {Pausable} from "oz/security/Pausable.sol"; import {SafeERC20} from "oz/token/ERC20/utils/SafeERC20.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; @@ -25,7 +26,7 @@ struct DiscountExerciseParams { /// @notice Contract that allows the holder of options tokens to exercise them, /// in this case, by purchasing the underlying token at a discount to the market price. /// @dev Assumes the underlying token and the payment token both use 18 decimals. -contract DiscountExercise is BaseExercise, SwapHelper { +contract DiscountExercise is BaseExercise, SwapHelper, Pausable { /// Library usage using SafeERC20 for IERC20; using FixedPointMathLib for uint256; @@ -69,9 +70,14 @@ contract DiscountExercise is BaseExercise, SwapHelper { /// Used when the contract does not have enough tokens to pay the user mapping(address => uint256) public credit; + /// @notice The fee amount gathered in the contract to be swapped and distributed uint256 private feeAmount; + + /// @notice Minimal trigger to swap, if the trigger is not reached then feeAmount counts the ammount to swap and distribute uint256 public minAmountToTriggerSwap; - uint256 public redeemBonus; + + /// @notice configurable parameter that determines what is the fee for zap (instant exit) feature + uint256 public instantExitFee; constructor( OptionsToken oToken_, @@ -80,7 +86,7 @@ contract DiscountExercise is BaseExercise, SwapHelper { IERC20 underlyingToken_, IOracle oracle_, uint256 multiplier_, - uint256 redeemBonus_, + uint256 instantExitFee_, address[] memory feeRecipients_, uint256[] memory feeBPS_, SwapProps memory swapProps_ @@ -90,7 +96,7 @@ contract DiscountExercise is BaseExercise, SwapHelper { _setOracle(oracle_); _setMultiplier(multiplier_); - _setRedeemBonus(redeemBonus_); + _setInstantExitFee(instantExitFee_); emit SetOracle(oracle_); } @@ -157,15 +163,15 @@ contract DiscountExercise is BaseExercise, SwapHelper { emit SetMultiplier(multiplier_); } - function setRedeemBonus(uint256 _redeemBonus) external onlyOwner { - _setRedeemBonus(_redeemBonus); + function setInstantExitFee(uint256 _instantExitFee) external onlyOwner { + _setInstantExitFee(_instantExitFee); } - function _setRedeemBonus(uint256 _redeemBonus) internal { - if (_redeemBonus > BPS_DENOM) { + function _setInstantExitFee(uint256 _instantExitFee) internal { + if (_instantExitFee > BPS_DENOM) { revert Exercise__FeeGreaterThanMax(); } - redeemBonus = _redeemBonus; + instantExitFee = _instantExitFee; } function setMinAmountToTriggerSwap(uint256 _minAmountToTriggerSwap) external onlyOwner { @@ -181,7 +187,7 @@ contract DiscountExercise is BaseExercise, SwapHelper { if (block.timestamp > params.deadline) revert Exercise__PastDeadline(); uint256 discountedUnderlying = amount.mulDivUp(multiplier, BPS_DENOM); - uint256 fee = discountedUnderlying.mulDivUp(redeemBonus, BPS_DENOM); + uint256 fee = discountedUnderlying.mulDivUp(instantExitFee, BPS_DENOM); uint256 underlyingAmount = discountedUnderlying - fee; console.log("Discounted: %e \t fee: %e", discountedUnderlying, fee); From a6abd70a7e8cf19e34a3e6b653c324622f5497eb Mon Sep 17 00:00:00 2001 From: xRave110 Date: Sun, 23 Jun 2024 19:44:19 +0200 Subject: [PATCH 05/10] InstantExit working on optimism --- output.json | 228363 +++++++++++++++ src/exercise/BaseExercise.sol | 4 + src/exercise/DiscountExercise.sol | 28 +- src/helpers/SwapHelper.sol | 3 - test/Common.sol | 6 +- test/ItModeOptionsToken.t.sol | 16 +- ...oken.t copy.sol => ItOpOptionsToken.t.sol} | 118 +- test/OptionsToken.t.sol | 33 + 8 files changed, 228444 insertions(+), 127 deletions(-) create mode 100644 output.json rename test/{ItOpOptionsToken.t copy.sol => ItOpOptionsToken.t.sol} (73%) diff --git a/output.json b/output.json new file mode 100644 index 0000000..5a04500 --- /dev/null +++ b/output.json @@ -0,0 +1,228363 @@ +{ + "success": true, + "error": null, + "results": { + "detectors": [ + { + "elements": [ + { + "type": "function", + "name": "distributeFeesFrom", + "source_mapping": { + "start": 3017, + "length": 554, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFeesFrom(uint256,IERC20,address)" + } + }, + { + "type": "node", + "name": "token.safeTransferFrom(from,feeRecipients[i],feeAmount)", + "source_mapping": { + "start": 3306, + "length": 57, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 79 + ], + "starting_column": 13, + "ending_column": 70 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFeesFrom", + "source_mapping": { + "start": 3017, + "length": 554, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFeesFrom(uint256,IERC20,address)" + } + } + } + } + ], + "description": "BaseExercise.distributeFeesFrom(uint256,IERC20,address) (src/exercise/BaseExercise.sol#75-84) uses arbitrary from in transferFrom: token.safeTransferFrom(from,feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#79)\n", + "markdown": "[BaseExercise.distributeFeesFrom(uint256,IERC20,address)](src/exercise/BaseExercise.sol#L75-L84) uses arbitrary from in transferFrom: [token.safeTransferFrom(from,feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L79)\n", + "first_markdown_element": "src/exercise/BaseExercise.sol#L75-L84", + "id": "446a1cb33ebfad0d0a709c03c1c0cd849aceed537bd0183c5297524327e3aaf2", + "check": "arbitrary-send-erc20", + "impact": "High", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "distributeFeesFrom", + "source_mapping": { + "start": 3017, + "length": 554, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFeesFrom(uint256,IERC20,address)" + } + }, + { + "type": "node", + "name": "token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)", + "source_mapping": { + "start": 3419, + "length": 80, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 82 + ], + "starting_column": 9, + "ending_column": 89 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFeesFrom", + "source_mapping": { + "start": 3017, + "length": 554, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFeesFrom(uint256,IERC20,address)" + } + } + } + } + ], + "description": "BaseExercise.distributeFeesFrom(uint256,IERC20,address) (src/exercise/BaseExercise.sol#75-84) uses arbitrary from in transferFrom: token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#82)\n", + "markdown": "[BaseExercise.distributeFeesFrom(uint256,IERC20,address)](src/exercise/BaseExercise.sol#L75-L84) uses arbitrary from in transferFrom: [token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L82)\n", + "first_markdown_element": "src/exercise/BaseExercise.sol#L75-L84", + "id": "e527a176c279777711a8a43d5feac81d7390657a451efca4aa421633e06d9680", + "check": "arbitrary-send-erc20", + "impact": "High", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_functionDelegateCall", + "source_mapping": { + "start": 6780, + "length": 455, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 184, + 185, + 186, + 187, + 188, + 189, + 190 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC1967UpgradeUpgradeable", + "source_mapping": { + "start": 661, + "length": 6867, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_functionDelegateCall(address,bytes)" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.delegatecall(data)", + "source_mapping": { + "start": 7045, + "length": 67, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 188 + ], + "starting_column": 9, + "ending_column": 76 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_functionDelegateCall", + "source_mapping": { + "start": 6780, + "length": 455, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 184, + 185, + 186, + 187, + 188, + 189, + 190 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC1967UpgradeUpgradeable", + "source_mapping": { + "start": 661, + "length": 6867, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_functionDelegateCall(address,bytes)" + } + } + } + } + ], + "description": "ERC1967UpgradeUpgradeable._functionDelegateCall(address,bytes) (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#184-190) uses delegatecall to a input-controlled function id\n\t- (success,returndata) = target.delegatecall(data) (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#188)\n", + "markdown": "[ERC1967UpgradeUpgradeable._functionDelegateCall(address,bytes)](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L184-L190) uses delegatecall to a input-controlled function id\n\t- [(success,returndata) = target.delegatecall(data)](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L188)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L184-L190", + "id": "674611239cacd3d3adbcbfab671c0ebaf9c020827cfd91cca0f58d74c0873e7d", + "check": "controlled-delegatecall", + "impact": "High", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "inv = (3 * denominator) ^ 2", + "source_mapping": { + "start": 3729, + "length": 35, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 88 + ], + "starting_column": 13, + "ending_column": 48 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - inv = (3 * denominator) ^ 2 (lib/v3-core/contracts/libraries/FullMath.sol#88)\n", + "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - [inv = (3 * denominator) ^ 2](lib/v3-core/contracts/libraries/FullMath.sol#L88)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", + "id": "3ebcee10c38dd4a235616a4d9d6a9aaf00fe1db39529893efe57c283a4b73d3f", + "check": "incorrect-exp", + "impact": "High", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "inverse = (3 * denominator) ^ 2", + "source_mapping": { + "start": 4459, + "length": 39, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 117 + ], + "starting_column": 13, + "ending_column": 52 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - inverse = (3 * denominator) ^ 2 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#117)\n", + "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - [inverse = (3 * denominator) ^ 2](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L117)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", + "id": "d5757e6727c1fd979b03f6138f32befb52a3a53c3f8e23a9970145a5973d779a", + "check": "incorrect-exp", + "impact": "High", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 3757, + "length": 37, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 102 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inverse *= 2 - denominator * inverse", + "source_mapping": { + "start": 4715, + "length": 36, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 121 + ], + "starting_column": 13, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#121)\n", + "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L121)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", + "id": "00b65e3a8fb42b635c27a085eb3b8c89d7b14ad83a5429e7ccfde9497a23828c", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0x48a170391f7dc42444e8fa2) >> 128", + "source_mapping": { + "start": 3617, + "length": 50, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 52 + ], + "starting_column": 41, + "ending_column": 91 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x48a170391f7dc42444e8fa2) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#52)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x48a170391f7dc42444e8fa2) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L52)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "049b0eee893d521c098e8106c37a596606789cb5437746aaf101d87bfb81347e", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 3757, + "length": 37, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 102 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inverse *= 2 - denominator * inverse", + "source_mapping": { + "start": 4924, + "length": 36, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 124 + ], + "starting_column": 13, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#124)\n", + "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L124)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", + "id": "063a41726141c0824417315356cff50b71c19049fcd88cdabef685c7b2284446", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "prod0 = prod0 / twos", + "source_mapping": { + "start": 3023, + "length": 25, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 73 + ], + "starting_column": 17, + "ending_column": 42 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "result = prod0 * inv", + "source_mapping": { + "start": 4804, + "length": 20, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 105 + ], + "starting_column": 13, + "ending_column": 33 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- prod0 = prod0 / twos (lib/v3-core/contracts/libraries/FullMath.sol#73)\n\t- result = prod0 * inv (lib/v3-core/contracts/libraries/FullMath.sol#105)\n", + "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [prod0 = prod0 / twos](lib/v3-core/contracts/libraries/FullMath.sol#L73)\n\t- [result = prod0 * inv](lib/v3-core/contracts/libraries/FullMath.sol#L105)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", + "id": "0fc34c55fb2fcbf643d5ba90b5756e4d089643e6ad30eeea71f5c709781c9e32", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5) >> 128", + "source_mapping": { + "start": 3020, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 46 + ], + "starting_column": 40, + "ending_column": 99 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#46)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L46)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "10d5f7f6961892bd6462b79f7f63ffdeb9ccdad321a21b8302ef6d4d68d57be6", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 2873, + "length": 37, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 68 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inv *= 2 - denominator * inv", + "source_mapping": { + "start": 4310, + "length": 28, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 97 + ], + "starting_column": 13, + "ending_column": 41 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#97)\n", + "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L97)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", + "id": "1ef88f8244a181a35e0f07c86dd3dbcd47a08f4e7344a3aa2246ce952b3c4782", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_calculateMinAmountOut", + "source_mapping": { + "start": 9735, + "length": 1525, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" + } + }, + { + "type": "node", + "name": "toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR", + "source_mapping": { + "start": 11000, + "length": 130, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 299, + 300 + ], + "starting_column": 9, + "ending_column": 97 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_calculateMinAmountOut", + "source_mapping": { + "start": 9735, + "length": 1525, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" + } + } + } + }, + { + "type": "node", + "name": "minAmountOut = (toAmountUsdTargetDigits * 10 ** IERC20MetadataUpgradeable(_to).decimals()) / toPriceTargetDigits", + "source_mapping": { + "start": 11141, + "length": 112, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 302 + ], + "starting_column": 9, + "ending_column": 121 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_calculateMinAmountOut", + "source_mapping": { + "start": 9735, + "length": 1525, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" + } + } + } + } + ], + "description": "ReaperSwapper._calculateMinAmountOut(address,address,uint256,MinAmountOutData) (lib/vault-v2/src/ReaperSwapper.sol#275-303) performs a multiplication on the result of a division:\n\t- toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR (lib/vault-v2/src/ReaperSwapper.sol#299-300)\n\t- minAmountOut = (toAmountUsdTargetDigits * 10 ** IERC20MetadataUpgradeable(_to).decimals()) / toPriceTargetDigits (lib/vault-v2/src/ReaperSwapper.sol#302)\n", + "markdown": "[ReaperSwapper._calculateMinAmountOut(address,address,uint256,MinAmountOutData)](lib/vault-v2/src/ReaperSwapper.sol#L275-L303) performs a multiplication on the result of a division:\n\t- [toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR](lib/vault-v2/src/ReaperSwapper.sol#L299-L300)\n\t- [minAmountOut = (toAmountUsdTargetDigits * 10 ** IERC20MetadataUpgradeable(_to).decimals()) / toPriceTargetDigits](lib/vault-v2/src/ReaperSwapper.sol#L302)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L275-L303", + "id": "242b2c5d9da698fd1345e7823ad59a8dae0b459dab01039556e362d5ac2acd45", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_calculateMinAmountOut", + "source_mapping": { + "start": 9735, + "length": 1525, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" + } + }, + { + "type": "node", + "name": "fromAmountUsdTargetDigits = (_amountIn * fromPriceTargetDigits) / 10 ** IERC20MetadataUpgradeable(_from).decimals()", + "source_mapping": { + "start": 10855, + "length": 135, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 297, + 298 + ], + "starting_column": 9, + "ending_column": 100 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_calculateMinAmountOut", + "source_mapping": { + "start": 9735, + "length": 1525, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" + } + } + } + }, + { + "type": "node", + "name": "toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR", + "source_mapping": { + "start": 11000, + "length": 130, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 299, + 300 + ], + "starting_column": 9, + "ending_column": 97 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_calculateMinAmountOut", + "source_mapping": { + "start": 9735, + "length": 1525, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" + } + } + } + } + ], + "description": "ReaperSwapper._calculateMinAmountOut(address,address,uint256,MinAmountOutData) (lib/vault-v2/src/ReaperSwapper.sol#275-303) performs a multiplication on the result of a division:\n\t- fromAmountUsdTargetDigits = (_amountIn * fromPriceTargetDigits) / 10 ** IERC20MetadataUpgradeable(_from).decimals() (lib/vault-v2/src/ReaperSwapper.sol#297-298)\n\t- toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR (lib/vault-v2/src/ReaperSwapper.sol#299-300)\n", + "markdown": "[ReaperSwapper._calculateMinAmountOut(address,address,uint256,MinAmountOutData)](lib/vault-v2/src/ReaperSwapper.sol#L275-L303) performs a multiplication on the result of a division:\n\t- [fromAmountUsdTargetDigits = (_amountIn * fromPriceTargetDigits) / 10 ** IERC20MetadataUpgradeable(_from).decimals()](lib/vault-v2/src/ReaperSwapper.sol#L297-L298)\n\t- [toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR](lib/vault-v2/src/ReaperSwapper.sol#L299-L300)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L275-L303", + "id": "2a964692a2c1e433645c4386705e83f412d01ced4ff15e6a7ed9f220abf91751", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 3757, + "length": 37, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 102 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inverse *= 2 - denominator * inverse", + "source_mapping": { + "start": 4784, + "length": 36, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 122 + ], + "starting_column": 13, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#122)\n", + "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L122)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", + "id": "333a89f3a8f64c59b998db6ddea224f5e5b6a3e18adc1cc4fe33353a9161141a", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861) >> 128", + "source_mapping": { + "start": 2326, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 39 + ], + "starting_column": 38, + "ending_column": 97 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#39)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L39)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "38c735599b34bd5dd6042b2b9001323fbfb2770b8c54e5257f95d17e496b58bc", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54) >> 128", + "source_mapping": { + "start": 2622, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 42 + ], + "starting_column": 39, + "ending_column": 98 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#42)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L42)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "3b44809d05674d486bb9e43f2b5c6a6f1b3cfbf822a51d78672a6efcaaf27060", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_getSwapAmountUniV2", + "source_mapping": { + "start": 3579, + "length": 603, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_getSwapAmountUniV2(uint256,uint256,uint256,address)" + } + }, + { + "type": "node", + "name": "halfInvestment = _investmentA / 2", + "source_mapping": { + "start": 3766, + "length": 41, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 96 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getSwapAmountUniV2", + "source_mapping": { + "start": 3579, + "length": 603, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_getSwapAmountUniV2(uint256,uint256,uint256,address)" + } + } + } + }, + { + "type": "node", + "name": "swapAmount = _investmentA - (Babylonian.sqrt((halfInvestment * halfInvestment * nominator) / denominator))", + "source_mapping": { + "start": 4069, + "length": 106, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 100 + ], + "starting_column": 9, + "ending_column": 115 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getSwapAmountUniV2", + "source_mapping": { + "start": 3579, + "length": 603, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_getSwapAmountUniV2(uint256,uint256,uint256,address)" + } + } + } + } + ], + "description": "UniV2Mixin._getSwapAmountUniV2(uint256,uint256,uint256,address) (lib/vault-v2/src/mixins/UniV2Mixin.sol#91-101) performs a multiplication on the result of a division:\n\t- halfInvestment = _investmentA / 2 (lib/vault-v2/src/mixins/UniV2Mixin.sol#96)\n\t- swapAmount = _investmentA - (Babylonian.sqrt((halfInvestment * halfInvestment * nominator) / denominator)) (lib/vault-v2/src/mixins/UniV2Mixin.sol#100)\n", + "markdown": "[UniV2Mixin._getSwapAmountUniV2(uint256,uint256,uint256,address)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L91-L101) performs a multiplication on the result of a division:\n\t- [halfInvestment = _investmentA / 2](lib/vault-v2/src/mixins/UniV2Mixin.sol#L96)\n\t- [swapAmount = _investmentA - (Babylonian.sqrt((halfInvestment * halfInvestment * nominator) / denominator))](lib/vault-v2/src/mixins/UniV2Mixin.sol#L100)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/UniV2Mixin.sol#L91-L101", + "id": "3bdf8bff47fabfb38bc200b9841d43ccc92af4d55144953616bc8b804bbb4190", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053) >> 128", + "source_mapping": { + "start": 2424, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 40 + ], + "starting_column": 38, + "ending_column": 97 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#40)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L40)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "3fe811ee3f7a15306c799d900ce83ea25b94a798fc2fbdbeff7c41a9d44104eb", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 3757, + "length": 37, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 102 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inverse *= 2 - denominator * inverse", + "source_mapping": { + "start": 4854, + "length": 36, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 123 + ], + "starting_column": 13, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#123)\n", + "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L123)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", + "id": "4bd78131744a4ae01deecf9f70f7caa639f217aabb6958b7502762971ed7992c", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdcc) >> 128", + "source_mapping": { + "start": 1935, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 35 + ], + "starting_column": 37, + "ending_column": 96 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdcc) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#35)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdcc) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L35)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "4c4b17533f204364045c6f68db370e77b5ad7364eba97f64430b1d06a53fcec5", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xfff97272373d413259a46990580e213a) >> 128", + "source_mapping": { + "start": 1838, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 34 + ], + "starting_column": 37, + "ending_column": 96 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xfff97272373d413259a46990580e213a) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#34)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xfff97272373d413259a46990580e213a) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L34)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "4fc11cac2f6896d1fd2ae2941701fcab0e310d7f0867ed97cc5b3e8c23efcba4", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_getSwapAmountVelo", + "source_mapping": { + "start": 2636, + "length": 541, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_getSwapAmountVelo(IVeloPair,uint256,uint256,uint256,address)" + } + }, + { + "type": "node", + "name": "halfInvestment = investmentA / 2", + "source_mapping": { + "start": 2834, + "length": 40, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 78 + ], + "starting_column": 9, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getSwapAmountVelo", + "source_mapping": { + "start": 2636, + "length": 541, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_getSwapAmountVelo(IVeloPair,uint256,uint256,uint256,address)" + } + } + } + }, + { + "type": "node", + "name": "swapAmount = investmentA - Babylonian.sqrt((halfInvestment * halfInvestment * numerator) / denominator)", + "source_mapping": { + "start": 3067, + "length": 103, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 81 + ], + "starting_column": 9, + "ending_column": 112 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getSwapAmountVelo", + "source_mapping": { + "start": 2636, + "length": 541, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_getSwapAmountVelo(IVeloPair,uint256,uint256,uint256,address)" + } + } + } + } + ], + "description": "VeloSolidMixin._getSwapAmountVelo(IVeloPair,uint256,uint256,uint256,address) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#73-82) performs a multiplication on the result of a division:\n\t- halfInvestment = investmentA / 2 (lib/vault-v2/src/mixins/VeloSolidMixin.sol#78)\n\t- swapAmount = investmentA - Babylonian.sqrt((halfInvestment * halfInvestment * numerator) / denominator) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#81)\n", + "markdown": "[VeloSolidMixin._getSwapAmountVelo(IVeloPair,uint256,uint256,uint256,address)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L73-L82) performs a multiplication on the result of a division:\n\t- [halfInvestment = investmentA / 2](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L78)\n\t- [swapAmount = investmentA - Babylonian.sqrt((halfInvestment * halfInvestment * numerator) / denominator)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L81)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/VeloSolidMixin.sol#L73-L82", + "id": "634d14708bdcf209cb732dd2453064bc4232343cec20e4c4af1d0a5345cc9d11", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6) >> 128", + "source_mapping": { + "start": 3220, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 48 + ], + "starting_column": 40, + "ending_column": 99 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#48)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L48)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "7236a33a1c38547e2d6016c50a0cff9ccffeabd09475c57376ecb4a0f0d579fa", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 3757, + "length": 37, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 102 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inverse *= 2 - denominator * inverse", + "source_mapping": { + "start": 4994, + "length": 36, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 125 + ], + "starting_column": 13, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#125)\n", + "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L125)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", + "id": "8e550aa740cfcf771bd2bf114b325d4e59d89cb74eda337db615a02086ec0332", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0x5d6af8dedb81196699c329225ee604) >> 128", + "source_mapping": { + "start": 3421, + "length": 57, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 50 + ], + "starting_column": 41, + "ending_column": 98 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x5d6af8dedb81196699c329225ee604) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#50)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x5d6af8dedb81196699c329225ee604) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L50)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "976e6f1a5489c4b684ba80b7f2991c4f073a52e0a02f101aff98abe7c966e58b", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 2873, + "length": 37, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 68 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inv *= 2 - denominator * inv", + "source_mapping": { + "start": 4183, + "length": 28, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 95 + ], + "starting_column": 13, + "ending_column": 41 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#95)\n", + "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L95)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", + "id": "9c4b77f30035cd07f16f5da3c7df4ce22186d431383be67fc63102f53f1778be", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0) >> 128", + "source_mapping": { + "start": 2032, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 36 + ], + "starting_column": 37, + "ending_column": 96 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#36)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L36)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "9d5a00343fb3299a12df278a7fcc4e8bba171415a0cddc32a3c8b1292da5e020", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "rpow", + "source_mapping": { + "start": 2774, + "length": 2778, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "rpow(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "x = xxRound_rpow_asm_0 / scalar", + "source_mapping": { + "start": 4594, + "length": 25, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 129 + ], + "starting_column": 21, + "ending_column": 46 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "rpow", + "source_mapping": { + "start": 2774, + "length": 2778, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "rpow(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "zx_rpow_asm_0 = z * x", + "source_mapping": { + "start": 4759, + "length": 19, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 134 + ], + "starting_column": 25, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "rpow", + "source_mapping": { + "start": 2774, + "length": 2778, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "rpow(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.rpow(uint256,uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#71-158) performs a multiplication on the result of a division:\n\t- x = xxRound_rpow_asm_0 / scalar (lib/solmate/src/utils/FixedPointMathLib.sol#129)\n\t- zx_rpow_asm_0 = z * x (lib/solmate/src/utils/FixedPointMathLib.sol#134)\n", + "markdown": "[FixedPointMathLib.rpow(uint256,uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L71-L158) performs a multiplication on the result of a division:\n\t- [x = xxRound_rpow_asm_0 / scalar](lib/solmate/src/utils/FixedPointMathLib.sol#L129)\n\t- [zx_rpow_asm_0 = z * x](lib/solmate/src/utils/FixedPointMathLib.sol#L134)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L71-L158", + "id": "a6857f603efc155f5d59590b122e576c03098950016b0ca7391a75409969c72a", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644) >> 128", + "source_mapping": { + "start": 2130, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 37 + ], + "starting_column": 38, + "ending_column": 97 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#37)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L37)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "a91bd7bdec9d229a2e8b7757852ccf6bfbb0c1b82e2f213c0e87ea7d1501339c", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "prod0 = prod0 / twos", + "source_mapping": { + "start": 3861, + "length": 25, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 105 + ], + "starting_column": 17, + "ending_column": 42 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "result = prod0 * inverse", + "source_mapping": { + "start": 5535, + "length": 24, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 132 + ], + "starting_column": 13, + "ending_column": 37 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- prod0 = prod0 / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#105)\n\t- result = prod0 * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#132)\n", + "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [prod0 = prod0 / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L105)\n\t- [result = prod0 * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L132)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", + "id": "b87038aa85530f57d3c926dfb00303da9021db0b4df6e6e2a16775cb835b5245", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 2873, + "length": 37, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 68 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inv *= 2 - denominator * inv", + "source_mapping": { + "start": 4120, + "length": 28, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 94 + ], + "starting_column": 13, + "ending_column": 41 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#94)\n", + "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L94)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", + "id": "bab014d5399775b500e5a02bedb24be936428d7c221c43ea46172f1944c25875", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 2873, + "length": 37, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 68 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inv = (3 * denominator) ^ 2", + "source_mapping": { + "start": 3729, + "length": 35, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 88 + ], + "starting_column": 13, + "ending_column": 48 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv = (3 * denominator) ^ 2 (lib/v3-core/contracts/libraries/FullMath.sol#88)\n", + "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv = (3 * denominator) ^ 2](lib/v3-core/contracts/libraries/FullMath.sol#L88)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", + "id": "bb1576372add81b6d335a9795a84d6f47581915cf81761e1130215f4fffec15f", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 2873, + "length": 37, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 68 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inv *= 2 - denominator * inv", + "source_mapping": { + "start": 3995, + "length": 28, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 92 + ], + "starting_column": 13, + "ending_column": 41 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#92)\n", + "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L92)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", + "id": "c0ce32fa53af66ddd6aa23871a339ee9773df422e6ee599a3a5394cf32887501", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9) >> 128", + "source_mapping": { + "start": 2820, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 44 + ], + "starting_column": 39, + "ending_column": 98 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#44)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L44)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "c7038675fff7d70121645d78c43c65fcb0265d0211269a5f5d8cae28f85688e8", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3) >> 128", + "source_mapping": { + "start": 2721, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 43 + ], + "starting_column": 39, + "ending_column": 98 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#43)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L43)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "cb6b982337b1749cacc0e54aa2a12b46da2952e9f90b918464706a96e177d317", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 2873, + "length": 37, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 68 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inv *= 2 - denominator * inv", + "source_mapping": { + "start": 4246, + "length": 28, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 96 + ], + "starting_column": 13, + "ending_column": 41 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#96)\n", + "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L96)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", + "id": "d1dea53850dd9403825e78e37c8a0b863bfe4a7587d2b6caa6f92988c30f6d65", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98) >> 128", + "source_mapping": { + "start": 3520, + "length": 55, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 51 + ], + "starting_column": 41, + "ending_column": 96 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#51)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L51)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "d2ed7da21b17178cd05780daf6db15d5eecc0d32e25943b91c66207f259ed6c1", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 3757, + "length": 37, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 102 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inverse *= 2 - denominator * inverse", + "source_mapping": { + "start": 5065, + "length": 36, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 126 + ], + "starting_column": 13, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#126)\n", + "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L126)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", + "id": "d3e6e10c122886674b1e5fd2ce413eb882f00fdadbc0ea78e283dc622c1e9768", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7) >> 128", + "source_mapping": { + "start": 3120, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 47 + ], + "starting_column": 40, + "ending_column": 99 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#47)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L47)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "da6dbcc8d396a8ea28bf63c4bac1f6e08ad3a685e6fc8a653d02f87b541253e3", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 3757, + "length": 37, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 102 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inverse = (3 * denominator) ^ 2", + "source_mapping": { + "start": 4459, + "length": 39, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 117 + ], + "starting_column": 13, + "ending_column": 52 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse = (3 * denominator) ^ 2 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#117)\n", + "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse = (3 * denominator) ^ 2](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L117)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", + "id": "dafd46d4f8c4625c4f3a256e1ea93a0fee8d450f2b6dead5825ba39094f116c8", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825) >> 128", + "source_mapping": { + "start": 2920, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 45 + ], + "starting_column": 40, + "ending_column": 99 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#45)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L45)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "e426a7f18a2489b8e0f9cfe771bcab135619bec93fef6dd0e19f27e2e7d1464f", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4) >> 128", + "source_mapping": { + "start": 2523, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 41 + ], + "starting_column": 39, + "ending_column": 98 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#41)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L41)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "e88cd4d371f5afbf49191d8304a8f6d8ad7f24d19ebcdcf46e6f324c2ffb1c7a", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9) >> 128", + "source_mapping": { + "start": 3321, + "length": 58, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 49 + ], + "starting_column": 41, + "ending_column": 99 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#49)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L49)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "f64d093eb85f9a8f731041983d2bb0bf07289d63f153e7b794e434881e924193", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0) >> 128", + "source_mapping": { + "start": 2228, + "length": 59, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 38 + ], + "starting_column": 38, + "ending_column": 97 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + }, + { + "type": "node", + "name": "ratio = type()(uint256).max / ratio", + "source_mapping": { + "start": 3696, + "length": 33, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 54 + ], + "starting_column": 27, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#38)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L38)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "f69dca7a8c89e196d377b110003ab7978a3e4c70f8beb0f4a5f5ab9b6e6e9253", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "denominator = denominator / twos", + "source_mapping": { + "start": 2873, + "length": 37, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 68 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "inv *= 2 - denominator * inv", + "source_mapping": { + "start": 4057, + "length": 28, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 93 + ], + "starting_column": 13, + "ending_column": 41 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#93)\n", + "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L93)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", + "id": "fc5782d775af920a34f30dc7ed31f6d5a4bbf29cb1109a6103908410aba5b1de", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + }, + { + "type": "node", + "name": "paymentToken.balanceOf(feeRecipients[0]) == 0 || paymentToken.balanceOf(feeRecipients[1]) == 0", + "source_mapping": { + "start": 8678, + "length": 94, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 221 + ], + "starting_column": 17, + "ending_column": 111 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + } + } + ], + "description": "DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231) uses a dangerous strict equality:\n\t- paymentToken.balanceOf(feeRecipients[0]) == 0 || paymentToken.balanceOf(feeRecipients[1]) == 0 (src/exercise/DiscountExercise.sol#221)\n", + "markdown": "[DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231) uses a dangerous strict equality:\n\t- [paymentToken.balanceOf(feeRecipients[0]) == 0 || paymentToken.balanceOf(feeRecipients[1]) == 0](src/exercise/DiscountExercise.sol#L221)\n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", + "id": "5a880060efcc31cb1efa41190002e874acfb1476c6f4163acb1fb73776ec92a2", + "check": "incorrect-equality", + "impact": "Medium", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + }, + { + "type": "node", + "name": "_params.from == _params.to || _params.amount == 0", + "source_mapping": { + "start": 1243, + "length": 49, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 39 + ], + "starting_column": 13, + "ending_column": 62 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + } + } + } + ], + "description": "UniV3Mixin._swapUniV3(UniV3Mixin.Params__swapUniV3) (lib/vault-v2/src/mixins/UniV3Mixin.sol#38-69) uses a dangerous strict equality:\n\t- _params.from == _params.to || _params.amount == 0 (lib/vault-v2/src/mixins/UniV3Mixin.sol#39)\n", + "markdown": "[UniV3Mixin._swapUniV3(UniV3Mixin.Params__swapUniV3)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L38-L69) uses a dangerous strict equality:\n\t- [_params.from == _params.to || _params.amount == 0](lib/vault-v2/src/mixins/UniV3Mixin.sol#L39)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L38-L69", + "id": "fc396b078296f5d4c0c3927e14de36cf6a3ad91f938e9e10d2e8fa0e437962fc", + "check": "incorrect-equality", + "impact": "Medium", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + }, + { + "type": "node", + "name": "underlyingToken.approve(swapProps.swapper,feeAmount)", + "source_mapping": { + "start": 8058, + "length": 53, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 213 + ], + "starting_column": 13, + "ending_column": 66 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)", + "source_mapping": { + "start": 8277, + "length": 138, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 216 + ], + "starting_column": 13, + "ending_column": 151 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2488, + "length": 80, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 75 + ], + "starting_column": 13, + "ending_column": 93 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2631, + "length": 78, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 77 + ], + "starting_column": 13, + "ending_column": 91 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2778, + "length": 79, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 79 + ], + "starting_column": 13, + "ending_column": 92 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2922, + "length": 80, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 81 + ], + "starting_column": 13, + "ending_column": 93 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "feeAmount = 0", + "source_mapping": { + "start": 8429, + "length": 13, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 217 + ], + "starting_column": 13, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "feeAmount" + } + } + ], + "description": "Reentrancy in DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231):\n\tExternal calls:\n\t- underlyingToken.approve(swapProps.swapper,feeAmount) (src/exercise/DiscountExercise.sol#213)\n\t- _generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress) (src/exercise/DiscountExercise.sol#216)\n\t\t- _swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#75)\n\t\t- _swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#77)\n\t\t- _swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#79)\n\t\t- _swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#81)\n\tState variables written after the call(s):\n\t- feeAmount = 0 (src/exercise/DiscountExercise.sol#217)\n\tDiscountExercise.feeAmount (src/exercise/DiscountExercise.sol#75) can be used in cross function reentrancies:\n\t- DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231)\n", + "markdown": "Reentrancy in [DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231):\n\tExternal calls:\n\t- [underlyingToken.approve(swapProps.swapper,feeAmount)](src/exercise/DiscountExercise.sol#L213)\n\t- [_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)](src/exercise/DiscountExercise.sol#L216)\n\t\t- [_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L75)\n\t\t- [_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L77)\n\t\t- [_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L79)\n\t\t- [_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L81)\n\tState variables written after the call(s):\n\t- [feeAmount = 0](src/exercise/DiscountExercise.sol#L217)\n\t[DiscountExercise.feeAmount](src/exercise/DiscountExercise.sol#L75) can be used in cross function reentrancies:\n\t- [DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231)\n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", + "id": "a3da78c5bd6d087b6122e2bce93b85b2799e2ef18234c8a2ad47ba8fa7e94f24", + "check": "reentrancy-no-eth", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "price", + "source_mapping": { + "start": 17664, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 438 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_scaleChainlinkPriceByDigits", + "source_mapping": { + "start": 17460, + "length": 642, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_scaleChainlinkPriceByDigits(uint256,uint256)" + } + } + } + } + ], + "description": "ReaperSwapper._scaleChainlinkPriceByDigits(uint256,uint256).price (lib/vault-v2/src/ReaperSwapper.sol#438) is a local variable never initialized\n", + "markdown": "[ReaperSwapper._scaleChainlinkPriceByDigits(uint256,uint256).price](lib/vault-v2/src/ReaperSwapper.sol#L438) is a local variable never initialized\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L438", + "id": "27cbde03367f30635d8b77371e7fe0b61d5b5de3c5ad430c3fe3e8002aed8a7d", + "check": "uninitialized-local", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "tokenInFound", + "source_mapping": { + "start": 3290, + "length": 17, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 83 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateBalSwapPoolID", + "source_mapping": { + "start": 2960, + "length": 817, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_updateBalSwapPoolID(address,address,address,bytes32)" + } + } + } + } + ], + "description": "BalMixin._updateBalSwapPoolID(address,address,address,bytes32).tokenInFound (lib/vault-v2/src/mixins/BalMixin.sol#83) is a local variable never initialized\n", + "markdown": "[BalMixin._updateBalSwapPoolID(address,address,address,bytes32).tokenInFound](lib/vault-v2/src/mixins/BalMixin.sol#L83) is a local variable never initialized\n", + "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L83", + "id": "48805492cb64113a3a35ed5ba8c0a2076b664bcd2d067470ba0a3252ebba42b4", + "check": "uninitialized-local", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "funds", + "source_mapping": { + "start": 1661, + "length": 38, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 49 + ], + "starting_column": 9, + "ending_column": 47 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + } + } + ], + "description": "BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool).funds (lib/vault-v2/src/mixins/BalMixin.sol#49) is a local variable never initialized\n", + "markdown": "[BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool).funds](lib/vault-v2/src/mixins/BalMixin.sol#L49) is a local variable never initialized\n", + "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L49", + "id": "4c14c7b594bf15697ba30539c9ac4c614c10333e52070092d201336e75377b3e", + "check": "uninitialized-local", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "singleSwap", + "source_mapping": { + "start": 1350, + "length": 39, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 41 + ], + "starting_column": 9, + "ending_column": 48 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + } + } + ], + "description": "BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool).singleSwap (lib/vault-v2/src/mixins/BalMixin.sol#41) is a local variable never initialized\n", + "markdown": "[BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool).singleSwap](lib/vault-v2/src/mixins/BalMixin.sol#L41) is a local variable never initialized\n", + "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L41", + "id": "509fe1a6ba376f87af1d863abc8d6ee153c0a98eb4717a73f4e55d593f047ad6", + "check": "uninitialized-local", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "predictedOutput", + "source_mapping": { + "start": 1332, + "length": 23, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 39 + ], + "starting_column": 9, + "ending_column": 32 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + } + } + ], + "description": "VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool).predictedOutput (lib/vault-v2/src/mixins/VeloSolidMixin.sol#39) is a local variable never initialized\n", + "markdown": "[VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool).predictedOutput](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L39) is a local variable never initialized\n", + "first_markdown_element": "lib/vault-v2/src/mixins/VeloSolidMixin.sol#L39", + "id": "938d047c5ec8d17161f658c71b9aa0d91ba330139bbace224c8a03181655b082", + "check": "uninitialized-local", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "tokenOutFound", + "source_mapping": { + "start": 3317, + "length": 18, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 84 + ], + "starting_column": 9, + "ending_column": 27 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateBalSwapPoolID", + "source_mapping": { + "start": 2960, + "length": 817, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_updateBalSwapPoolID(address,address,address,bytes32)" + } + } + } + } + ], + "description": "BalMixin._updateBalSwapPoolID(address,address,address,bytes32).tokenOutFound (lib/vault-v2/src/mixins/BalMixin.sol#84) is a local variable never initialized\n", + "markdown": "[BalMixin._updateBalSwapPoolID(address,address,address,bytes32).tokenOutFound](lib/vault-v2/src/mixins/BalMixin.sol#L84) is a local variable never initialized\n", + "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L84", + "id": "c74cd6285af530132a8fd4c04509ac76724208d2ddf2f11af35efb8fcc996c55", + "check": "uninitialized-local", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_revokeRole", + "source_mapping": { + "start": 2572, + "length": 171, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 66, + 67, + 68, + 69 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AccessControlEnumerableUpgradeable", + "source_mapping": { + "start": 431, + "length": 2605, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_revokeRole(bytes32,address)" + } + }, + { + "type": "node", + "name": "_roleMembers[role].remove(account)", + "source_mapping": { + "start": 2702, + "length": 34, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 68 + ], + "starting_column": 9, + "ending_column": 43 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_revokeRole", + "source_mapping": { + "start": 2572, + "length": 171, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 66, + 67, + 68, + 69 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AccessControlEnumerableUpgradeable", + "source_mapping": { + "start": 431, + "length": 2605, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_revokeRole(bytes32,address)" + } + } + } + } + ], + "description": "AccessControlEnumerableUpgradeable._revokeRole(bytes32,address) (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#66-69) ignores return value by _roleMembers[role].remove(account) (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#68)\n", + "markdown": "[AccessControlEnumerableUpgradeable._revokeRole(bytes32,address)](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L66-L69) ignores return value by [_roleMembers[role].remove(account)](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L68)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L66-L69", + "id": "076f76790b4c8e077be1617bcc82f2d4381a7a10e8cf41bc646d5208e1b6869d", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getPrice", + "source_mapping": { + "start": 3653, + "length": 2015, + "filename_relative": "src/oracles/UniswapV3Oracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", + "filename_short": "src/oracles/UniswapV3Oracle.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniswapV3Oracle", + "source_mapping": { + "start": 729, + "length": 6210, + "filename_relative": "src/oracles/UniswapV3Oracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", + "filename_short": "src/oracles/UniswapV3Oracle.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getPrice()" + } + }, + { + "type": "node", + "name": "(tickCumulatives,None) = uniswapPool.observe(secondsAgo)", + "source_mapping": { + "start": 4489, + "length": 67, + "filename_relative": "src/oracles/UniswapV3Oracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", + "filename_short": "src/oracles/UniswapV3Oracle.sol", + "is_dependency": false, + "lines": [ + 107 + ], + "starting_column": 13, + "ending_column": 80 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getPrice", + "source_mapping": { + "start": 3653, + "length": 2015, + "filename_relative": "src/oracles/UniswapV3Oracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", + "filename_short": "src/oracles/UniswapV3Oracle.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniswapV3Oracle", + "source_mapping": { + "start": 729, + "length": 6210, + "filename_relative": "src/oracles/UniswapV3Oracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", + "filename_short": "src/oracles/UniswapV3Oracle.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getPrice()" + } + } + } + } + ], + "description": "UniswapV3Oracle.getPrice() (src/oracles/UniswapV3Oracle.sol#88-127) ignores return value by (tickCumulatives,None) = uniswapPool.observe(secondsAgo) (src/oracles/UniswapV3Oracle.sol#107)\n", + "markdown": "[UniswapV3Oracle.getPrice()](src/oracles/UniswapV3Oracle.sol#L88-L127) ignores return value by [(tickCumulatives,None) = uniswapPool.observe(secondsAgo)](src/oracles/UniswapV3Oracle.sol#L107)\n", + "first_markdown_element": "src/oracles/UniswapV3Oracle.sol#L88-L127", + "id": "15eb9ed8c87b71a5d2ecedd3aa7b4a47cffcd9c5e79ee7bd0e04e3b4eaa86f54", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_updateBalSwapPoolID", + "source_mapping": { + "start": 2960, + "length": 817, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_updateBalSwapPoolID(address,address,address,bytes32)" + } + }, + { + "type": "node", + "name": "(poolTokens,None,None) = IBeetVault(_vault).getPoolTokens(_poolID)", + "source_mapping": { + "start": 3222, + "length": 58, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 82 + ], + "starting_column": 9, + "ending_column": 67 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateBalSwapPoolID", + "source_mapping": { + "start": 2960, + "length": 817, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_updateBalSwapPoolID(address,address,address,bytes32)" + } + } + } + } + ], + "description": "BalMixin._updateBalSwapPoolID(address,address,address,bytes32) (lib/vault-v2/src/mixins/BalMixin.sol#79-94) ignores return value by (poolTokens,None,None) = IBeetVault(_vault).getPoolTokens(_poolID) (lib/vault-v2/src/mixins/BalMixin.sol#82)\n", + "markdown": "[BalMixin._updateBalSwapPoolID(address,address,address,bytes32)](lib/vault-v2/src/mixins/BalMixin.sol#L79-L94) ignores return value by [(poolTokens,None,None) = IBeetVault(_vault).getPoolTokens(_poolID)](lib/vault-v2/src/mixins/BalMixin.sol#L82)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L79-L94", + "id": "22489e462e2576b06930c1d8cbfbae2e2b553f01d03f9ecb4dda6fe8f67db3c9", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_getCurrentChainlinkResponse", + "source_mapping": { + "start": 13273, + "length": 1334, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_getCurrentChainlinkResponse(address)" + } + }, + { + "type": "node", + "name": "(roundId,answer,timestamp) = aggregatorData[_token].aggregator.latestRoundData()", + "source_mapping": { + "start": 13924, + "length": 677, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getCurrentChainlinkResponse", + "source_mapping": { + "start": 13273, + "length": 1334, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_getCurrentChainlinkResponse(address)" + } + } + } + } + ], + "description": "ReaperSwapper._getCurrentChainlinkResponse(address) (lib/vault-v2/src/ReaperSwapper.sol#345-373) ignores return value by (roundId,answer,timestamp) = aggregatorData[_token].aggregator.latestRoundData() (lib/vault-v2/src/ReaperSwapper.sol#360-372)\n", + "markdown": "[ReaperSwapper._getCurrentChainlinkResponse(address)](lib/vault-v2/src/ReaperSwapper.sol#L345-L373) ignores return value by [(roundId,answer,timestamp) = aggregatorData[_token].aggregator.latestRoundData()](lib/vault-v2/src/ReaperSwapper.sol#L360-L372)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L345-L373", + "id": "30b0452c36c12660b86348533df68749bf1fea5021fb22dbd899a99575905585", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_getPrevChainlinkResponse", + "source_mapping": { + "start": 14613, + "length": 1317, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_getPrevChainlinkResponse(address,uint80,uint8)" + } + }, + { + "type": "node", + "name": "(roundId,answer,timestamp) = aggregatorData[_token].aggregator.getRoundData(_currentRoundId - 1)", + "source_mapping": { + "start": 15144, + "length": 780, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getPrevChainlinkResponse", + "source_mapping": { + "start": 14613, + "length": 1317, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_getPrevChainlinkResponse(address,uint80,uint8)" + } + } + } + } + ], + "description": "ReaperSwapper._getPrevChainlinkResponse(address,uint80,uint8) (lib/vault-v2/src/ReaperSwapper.sol#375-400) ignores return value by (roundId,answer,timestamp) = aggregatorData[_token].aggregator.getRoundData(_currentRoundId - 1) (lib/vault-v2/src/ReaperSwapper.sol#386-399)\n", + "markdown": "[ReaperSwapper._getPrevChainlinkResponse(address,uint80,uint8)](lib/vault-v2/src/ReaperSwapper.sol#L375-L400) ignores return value by [(roundId,answer,timestamp) = aggregatorData[_token].aggregator.getRoundData(_currentRoundId - 1)](lib/vault-v2/src/ReaperSwapper.sol#L386-L399)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L375-L400", + "id": "3fb1d4622d7ea931b3c26311ca8702c2ec8cb0af6eb5ecafd74d274ba139f513", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_grantRole", + "source_mapping": { + "start": 2317, + "length": 166, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 58, + 59, + 60, + 61 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AccessControlEnumerableUpgradeable", + "source_mapping": { + "start": 431, + "length": 2605, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_grantRole(bytes32,address)" + } + }, + { + "type": "node", + "name": "_roleMembers[role].add(account)", + "source_mapping": { + "start": 2445, + "length": 31, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 60 + ], + "starting_column": 9, + "ending_column": 40 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_grantRole", + "source_mapping": { + "start": 2317, + "length": 166, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 58, + 59, + 60, + 61 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AccessControlEnumerableUpgradeable", + "source_mapping": { + "start": 431, + "length": 2605, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_grantRole(bytes32,address)" + } + } + } + } + ], + "description": "AccessControlEnumerableUpgradeable._grantRole(bytes32,address) (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#58-61) ignores return value by _roleMembers[role].add(account) (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#60)\n", + "markdown": "[AccessControlEnumerableUpgradeable._grantRole(bytes32,address)](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L58-L61) ignores return value by [_roleMembers[role].add(account)](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L60)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L58-L61", + "id": "620dfa605cb7ea36269a8d3b9fa9056080aa44ef8b103b528893398de697d7d3", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + }, + { + "type": "node", + "name": "underlyingToken.approve(swapProps.swapper,feeAmount)", + "source_mapping": { + "start": 8058, + "length": 53, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 213 + ], + "starting_column": 13, + "ending_column": 66 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + } + } + ], + "description": "DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231) ignores return value by underlyingToken.approve(swapProps.swapper,feeAmount) (src/exercise/DiscountExercise.sol#213)\n", + "markdown": "[DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231) ignores return value by [underlyingToken.approve(swapProps.swapper,feeAmount)](src/exercise/DiscountExercise.sol#L213)\n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", + "id": "684b7ed11ac84490d20969fb21d74aa2d08d45cf6922ba41e4132debc88f1a3e", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 3156, + "length": 831, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalancerOracle", + "source_mapping": { + "start": 892, + "length": 6454, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "constructor(IBalancerTwapOracle,address,address,uint56,uint56,uint128)" + } + }, + { + "type": "node", + "name": "(poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle_.getPoolId())", + "source_mapping": { + "start": 3415, + "length": 86, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 78 + ], + "starting_column": 9, + "ending_column": 95 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 3156, + "length": 831, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalancerOracle", + "source_mapping": { + "start": 892, + "length": 6454, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "constructor(IBalancerTwapOracle,address,address,uint56,uint56,uint128)" + } + } + } + } + ], + "description": "BalancerOracle.constructor(IBalancerTwapOracle,address,address,uint56,uint56,uint128) (src/oracles/BalancerOracle.sol#74-91) ignores return value by (poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle_.getPoolId()) (src/oracles/BalancerOracle.sol#78)\n", + "markdown": "[BalancerOracle.constructor(IBalancerTwapOracle,address,address,uint56,uint56,uint128)](src/oracles/BalancerOracle.sol#L74-L91) ignores return value by [(poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle_.getPoolId())](src/oracles/BalancerOracle.sol#L78)\n", + "first_markdown_element": "src/oracles/BalancerOracle.sol#L74-L91", + "id": "7fd9ee00c28427211778cf2546b458bdf9a14aa5bafb1c4e696c75da94161789", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + }, + { + "type": "node", + "name": "_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2778, + "length": 79, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 79 + ], + "starting_column": 13, + "ending_column": 92 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + } + } + ], + "description": "SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address) (src/helpers/SwapHelper.sol#69-85) ignores return value by _swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#79)\n", + "markdown": "[SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address)](src/helpers/SwapHelper.sol#L69-L85) ignores return value by [_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L79)\n", + "first_markdown_element": "src/helpers/SwapHelper.sol#L69-L85", + "id": "905ebf5e0a77bb5ce6a9956a5a938b3fb57ccd447db79e52f28c190ad2b098fc", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + }, + { + "type": "node", + "name": "_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2488, + "length": 80, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 75 + ], + "starting_column": 13, + "ending_column": 93 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + } + } + ], + "description": "SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address) (src/helpers/SwapHelper.sol#69-85) ignores return value by _swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#75)\n", + "markdown": "[SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address)](src/helpers/SwapHelper.sol#L69-L85) ignores return value by [_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L75)\n", + "first_markdown_element": "src/helpers/SwapHelper.sol#L69-L85", + "id": "94dc018090e15555f5a24f270bc2a4e251aa4fd683d1ad6da53e29b9ce36dfc0", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + }, + { + "type": "node", + "name": "_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2631, + "length": 78, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 77 + ], + "starting_column": 13, + "ending_column": 91 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + } + } + ], + "description": "SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address) (src/helpers/SwapHelper.sol#69-85) ignores return value by _swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#77)\n", + "markdown": "[SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address)](src/helpers/SwapHelper.sol#L69-L85) ignores return value by [_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L77)\n", + "first_markdown_element": "src/helpers/SwapHelper.sol#L69-L85", + "id": "a1f5da77f45788e0404eeff5cf6f3e525a4c1f9dfd972ea1146ab141aae64f48", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_addLiquidityUniV2", + "source_mapping": { + "start": 2970, + "length": 603, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_addLiquidityUniV2(address,address,address,uint256)" + } + }, + { + "type": "node", + "name": "IUniswapV2Router02(_router).addLiquidity(_lpToken0,_lpToken1,lp0Bal,lp1Bal,0,0,address(this),_deadline)", + "source_mapping": { + "start": 3416, + "length": 140, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 85, + 86, + 87 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_addLiquidityUniV2", + "source_mapping": { + "start": 2970, + "length": 603, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_addLiquidityUniV2(address,address,address,uint256)" + } + } + } + } + ], + "description": "UniV2Mixin._addLiquidityUniV2(address,address,address,uint256) (lib/vault-v2/src/mixins/UniV2Mixin.sol#78-89) ignores return value by IUniswapV2Router02(_router).addLiquidity(_lpToken0,_lpToken1,lp0Bal,lp1Bal,0,0,address(this),_deadline) (lib/vault-v2/src/mixins/UniV2Mixin.sol#85-87)\n", + "markdown": "[UniV2Mixin._addLiquidityUniV2(address,address,address,uint256)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L78-L89) ignores return value by [IUniswapV2Router02(_router).addLiquidity(_lpToken0,_lpToken1,lp0Bal,lp1Bal,0,0,address(this),_deadline)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L85-L87)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/UniV2Mixin.sol#L78-L89", + "id": "b6d4c23ffa7d93ea78b806ecab3d05e76b1b931c562033f0be3f688a2bf5138c", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + }, + { + "type": "node", + "name": "_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2922, + "length": 80, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 81 + ], + "starting_column": 13, + "ending_column": 93 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + } + } + ], + "description": "SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address) (src/helpers/SwapHelper.sol#69-85) ignores return value by _swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#81)\n", + "markdown": "[SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address)](src/helpers/SwapHelper.sol#L69-L85) ignores return value by [_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L81)\n", + "first_markdown_element": "src/helpers/SwapHelper.sol#L69-L85", + "id": "ba75e8f4ffb4c65ddb6f1b12480fd59208ad29a142771fab28ee7f7006c98513", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getTokens", + "source_mapping": { + "start": 5915, + "length": 481, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalancerOracle", + "source_mapping": { + "start": 892, + "length": 6454, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTokens()" + } + }, + { + "type": "node", + "name": "(poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle.getPoolId())", + "source_mapping": { + "start": 6079, + "length": 85, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 140 + ], + "starting_column": 9, + "ending_column": 94 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTokens", + "source_mapping": { + "start": 5915, + "length": 481, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalancerOracle", + "source_mapping": { + "start": 892, + "length": 6454, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTokens()" + } + } + } + } + ], + "description": "BalancerOracle.getTokens() (src/oracles/BalancerOracle.sol#138-148) ignores return value by (poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle.getPoolId()) (src/oracles/BalancerOracle.sol#140)\n", + "markdown": "[BalancerOracle.getTokens()](src/oracles/BalancerOracle.sol#L138-L148) ignores return value by [(poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle.getPoolId())](src/oracles/BalancerOracle.sol#L140)\n", + "first_markdown_element": "src/oracles/BalancerOracle.sol#L138-L148", + "id": "d1f99ec9ea9af88978409bc1c5b1676b709fd00041f617d279f7f6efb7773e9a", + "check": "unused-return", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "liquidity", + "source_mapping": { + "start": 5469, + "length": 17, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "is_dependency": true, + "lines": [ + 93 + ], + "starting_column": 13, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "positions", + "source_mapping": { + "start": 5377, + "length": 278, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "is_dependency": true, + "lines": [ + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98 + ], + "starting_column": 5, + "ending_column": 11 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "IUniswapV3PoolState", + "source_mapping": { + "start": 240, + "length": 6425, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "positions(bytes32)" + } + } + } + }, + { + "type": "function", + "name": "liquidity", + "source_mapping": { + "start": 2725, + "length": 53, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "is_dependency": true, + "lines": [ + 49 + ], + "starting_column": 5, + "ending_column": 58 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "IUniswapV3PoolState", + "source_mapping": { + "start": 240, + "length": 6425, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "liquidity()" + } + } + ], + "description": "IUniswapV3PoolState.positions(bytes32).liquidity (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#93) shadows:\n\t- IUniswapV3PoolState.liquidity() (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#49) (function)\n", + "markdown": "[IUniswapV3PoolState.positions(bytes32).liquidity](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#L93) shadows:\n\t- [IUniswapV3PoolState.liquidity()](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#L49) (function)\n", + "first_markdown_element": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#L93", + "id": "5e13c1a5ae4fc039231766295753ab663fafa45e8223c9c0d6c847752e70753f", + "check": "shadowing-local", + "impact": "Low", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "setMinAmountToTriggerSwap", + "source_mapping": { + "start": 6507, + "length": 152, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 179, + 180, + 181 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "setMinAmountToTriggerSwap(uint256)" + } + }, + { + "type": "node", + "name": "minAmountToTriggerSwap = _minAmountToTriggerSwap", + "source_mapping": { + "start": 6604, + "length": 48, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 180 + ], + "starting_column": 9, + "ending_column": 57 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setMinAmountToTriggerSwap", + "source_mapping": { + "start": 6507, + "length": 152, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 179, + 180, + 181 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "setMinAmountToTriggerSwap(uint256)" + } + } + } + } + ], + "description": "DiscountExercise.setMinAmountToTriggerSwap(uint256) (src/exercise/DiscountExercise.sol#179-181) should emit an event for: \n\t- minAmountToTriggerSwap = _minAmountToTriggerSwap (src/exercise/DiscountExercise.sol#180) \n", + "markdown": "[DiscountExercise.setMinAmountToTriggerSwap(uint256)](src/exercise/DiscountExercise.sol#L179-L181) should emit an event for: \n\t- [minAmountToTriggerSwap = _minAmountToTriggerSwap](src/exercise/DiscountExercise.sol#L180) \n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L179-L181", + "id": "99c71da5f770edb1feb1845717d2ccb74eb2dfef272d225e93ebde0b29ec024c", + "check": "events-maths", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "newOwner", + "source_mapping": { + "start": 1339, + "length": 16, + "filename_relative": "lib/solmate/src/auth/Owned.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", + "filename_short": "lib/solmate/src/auth/Owned.sol", + "is_dependency": true, + "lines": [ + 39 + ], + "starting_column": 32, + "ending_column": 48 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "transferOwnership", + "source_mapping": { + "start": 1312, + "length": 161, + "filename_relative": "lib/solmate/src/auth/Owned.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", + "filename_short": "lib/solmate/src/auth/Owned.sol", + "is_dependency": true, + "lines": [ + 39, + 40, + 41, + 42, + 43 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Owned", + "source_mapping": { + "start": 215, + "length": 1260, + "filename_relative": "lib/solmate/src/auth/Owned.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", + "filename_short": "lib/solmate/src/auth/Owned.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "transferOwnership(address)" + } + } + } + }, + { + "type": "node", + "name": "owner = newOwner", + "source_mapping": { + "start": 1392, + "length": 16, + "filename_relative": "lib/solmate/src/auth/Owned.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", + "filename_short": "lib/solmate/src/auth/Owned.sol", + "is_dependency": true, + "lines": [ + 40 + ], + "starting_column": 9, + "ending_column": 25 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "transferOwnership", + "source_mapping": { + "start": 1312, + "length": 161, + "filename_relative": "lib/solmate/src/auth/Owned.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", + "filename_short": "lib/solmate/src/auth/Owned.sol", + "is_dependency": true, + "lines": [ + 39, + 40, + 41, + 42, + 43 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Owned", + "source_mapping": { + "start": 215, + "length": 1260, + "filename_relative": "lib/solmate/src/auth/Owned.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", + "filename_short": "lib/solmate/src/auth/Owned.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "transferOwnership(address)" + } + } + } + } + ], + "description": "Owned.transferOwnership(address).newOwner (lib/solmate/src/auth/Owned.sol#39) lacks a zero-check on :\n\t\t- owner = newOwner (lib/solmate/src/auth/Owned.sol#40)\n", + "markdown": "[Owned.transferOwnership(address).newOwner](lib/solmate/src/auth/Owned.sol#L39) lacks a zero-check on :\n\t\t- [owner = newOwner](lib/solmate/src/auth/Owned.sol#L40)\n", + "first_markdown_element": "lib/solmate/src/auth/Owned.sol#L39", + "id": "42c5c3a31d57316a6a42a25af3d5437866fe31ad7d20faa9c9e90a828458a168", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "tokenAdmin_", + "source_mapping": { + "start": 2629, + "length": 19, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 60 + ], + "starting_column": 69, + "ending_column": 88 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "initialize", + "source_mapping": { + "start": 2565, + "length": 279, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "initialize(string,string,address)" + } + } + } + }, + { + "type": "node", + "name": "tokenAdmin = tokenAdmin_", + "source_mapping": { + "start": 2779, + "length": 24, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 64 + ], + "starting_column": 9, + "ending_column": 33 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "initialize", + "source_mapping": { + "start": 2565, + "length": 279, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "initialize(string,string,address)" + } + } + } + } + ], + "description": "OptionsToken.initialize(string,string,address).tokenAdmin_ (src/OptionsToken.sol#60) lacks a zero-check on :\n\t\t- tokenAdmin = tokenAdmin_ (src/OptionsToken.sol#64)\n", + "markdown": "[OptionsToken.initialize(string,string,address).tokenAdmin_](src/OptionsToken.sol#L60) lacks a zero-check on :\n\t\t- [tokenAdmin = tokenAdmin_](src/OptionsToken.sol#L64)\n", + "first_markdown_element": "src/OptionsToken.sol#L60", + "id": "4786a41866df4f4d6e9a53f76306dff86aa5c64f249a5507c66f1281e3a75404", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_nextImplementation", + "source_mapping": { + "start": 6725, + "length": 27, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 162 + ], + "starting_column": 38, + "ending_column": 65 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "initiateUpgradeCooldown", + "source_mapping": { + "start": 6692, + "length": 185, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 162, + 163, + 164, + 165 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "initiateUpgradeCooldown(address)" + } + } + } + }, + { + "type": "node", + "name": "nextImplementation = _nextImplementation", + "source_mapping": { + "start": 6830, + "length": 40, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 164 + ], + "starting_column": 9, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "initiateUpgradeCooldown", + "source_mapping": { + "start": 6692, + "length": 185, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 162, + 163, + 164, + 165 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "initiateUpgradeCooldown(address)" + } + } + } + } + ], + "description": "OptionsToken.initiateUpgradeCooldown(address)._nextImplementation (src/OptionsToken.sol#162) lacks a zero-check on :\n\t\t- nextImplementation = _nextImplementation (src/OptionsToken.sol#164)\n", + "markdown": "[OptionsToken.initiateUpgradeCooldown(address)._nextImplementation](src/OptionsToken.sol#L162) lacks a zero-check on :\n\t\t- [nextImplementation = _nextImplementation](src/OptionsToken.sol#L164)\n", + "first_markdown_element": "src/OptionsToken.sol#L162", + "id": "752bb74930b6ee11a2722c36161d6ff0d00b9bc921cae3c938a9df7a3d0a692e", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_pay", + "source_mapping": { + "start": 9913, + "length": 415, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_pay(address,uint256)" + } + }, + { + "type": "node", + "name": "underlyingToken.safeTransfer(to,balance)", + "source_mapping": { + "start": 10112, + "length": 41, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 256 + ], + "starting_column": 13, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_pay", + "source_mapping": { + "start": 9913, + "length": 415, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_pay(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "underlyingToken.safeTransfer(to,amount)", + "source_mapping": { + "start": 10232, + "length": 40, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 259 + ], + "starting_column": 13, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_pay", + "source_mapping": { + "start": 9913, + "length": 415, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_pay(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "underlyingToken.safeTransfer(to,balance)", + "source_mapping": { + "start": 10112, + "length": 41, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 256 + ], + "starting_column": 13, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_pay", + "source_mapping": { + "start": 9913, + "length": 415, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_pay(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "underlyingToken.safeTransfer(to,amount)", + "source_mapping": { + "start": 10232, + "length": 40, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 259 + ], + "starting_column": 13, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_pay", + "source_mapping": { + "start": 9913, + "length": 415, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_pay(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "credit[to] += remainingAmount", + "source_mapping": { + "start": 10292, + "length": 29, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 261 + ], + "starting_column": 9, + "ending_column": 38 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_pay", + "source_mapping": { + "start": 9913, + "length": 415, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_pay(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "credit" + } + } + ], + "description": "Reentrancy in DiscountExercise._pay(address,uint256) (src/exercise/DiscountExercise.sol#253-262):\n\tExternal calls:\n\t- underlyingToken.safeTransfer(to,balance) (src/exercise/DiscountExercise.sol#256)\n\t- underlyingToken.safeTransfer(to,amount) (src/exercise/DiscountExercise.sol#259)\n\tState variables written after the call(s):\n\t- credit[to] += remainingAmount (src/exercise/DiscountExercise.sol#261)\n", + "markdown": "Reentrancy in [DiscountExercise._pay(address,uint256)](src/exercise/DiscountExercise.sol#L253-L262):\n\tExternal calls:\n\t- [underlyingToken.safeTransfer(to,balance)](src/exercise/DiscountExercise.sol#L256)\n\t- [underlyingToken.safeTransfer(to,amount)](src/exercise/DiscountExercise.sol#L259)\n\tState variables written after the call(s):\n\t- [credit[to] += remainingAmount](src/exercise/DiscountExercise.sol#L261)\n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L253-L262", + "id": "90b417a7fb4fc819e0ffafdfc6e3850abd2a28d5ee88b307754c749fcc5ac59a", + "check": "reentrancy-benign", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + }, + { + "type": "node", + "name": "_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", + "source_mapping": { + "start": 5527, + "length": 89, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 149 + ], + "starting_column": 9, + "ending_column": 98 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4166, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3747, + "length": 706, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20", + "source_mapping": { + "start": 707, + "length": 3748, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeIncreaseAllowance(_router,_amount)", + "source_mapping": { + "start": 1488, + "length": 53, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 42 + ], + "starting_column": 9, + "ending_column": 62 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", + "source_mapping": { + "start": 1662, + "length": 422, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeApprove(_router,0)", + "source_mapping": { + "start": 1954, + "length": 37, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 51 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", + "source_mapping": { + "start": 2114, + "length": 167, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 55, + 56, + 57 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pullFromBefore(_from,_amount)", + "source_mapping": { + "start": 5342, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 147 + ], + "starting_column": 14, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4298, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3868, + "length": 717, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20Upgradeable", + "source_mapping": { + "start": 740, + "length": 3847, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)", + "source_mapping": { + "start": 19490, + "length": 85, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 485 + ], + "starting_column": 9, + "ending_column": 94 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pullFromBefore", + "source_mapping": { + "start": 19424, + "length": 169, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 484, + 485, + 486, + 487 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pullFromBefore(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pushFromAndToAfter(_from,_to)", + "source_mapping": { + "start": 5373, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 147 + ], + "starting_column": 45, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4298, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3868, + "length": 717, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20Upgradeable", + "source_mapping": { + "start": 740, + "length": 3847, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)", + "source_mapping": { + "start": 19793, + "length": 66, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 493 + ], + "starting_column": 13, + "ending_column": 79 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pushFromAndToAfter", + "source_mapping": { + "start": 19599, + "length": 470, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pushFromAndToAfter(address,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)", + "source_mapping": { + "start": 19990, + "length": 62, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 497 + ], + "starting_column": 13, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pushFromAndToAfter", + "source_mapping": { + "start": 19599, + "length": 470, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pushFromAndToAfter(address,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", + "source_mapping": { + "start": 5527, + "length": 89, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 149 + ], + "starting_column": 9, + "ending_column": 98 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pullFromBefore(_from,_amount)", + "source_mapping": { + "start": 5342, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 147 + ], + "starting_column": 14, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pushFromAndToAfter(_from,_to)", + "source_mapping": { + "start": 5373, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 147 + ], + "starting_column": 45, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "GetAmountsOutFailed(_router,_amount,_from,_to)", + "source_mapping": { + "start": 1323, + "length": 54, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 37 + ], + "starting_column": 13, + "ending_column": 67 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + }, + { + "type": "node", + "name": "_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", + "source_mapping": { + "start": 5527, + "length": 89, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 149 + ], + "starting_column": 9, + "ending_column": 98 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + }, + { + "type": "node", + "name": "SwapFailed(_router,_amount,_minAmountOut,_from,_to)", + "source_mapping": { + "start": 2009, + "length": 60, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 52 + ], + "starting_column": 17, + "ending_column": 77 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + }, + { + "type": "node", + "name": "_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", + "source_mapping": { + "start": 5527, + "length": 89, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 149 + ], + "starting_column": 9, + "ending_column": 98 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool) (lib/vault-v2/src/ReaperSwapper.sol#139-150):\n\tExternal calls:\n\t- _swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#149)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- IERC20(_from).safeIncreaseAllowance(_router,_amount) (lib/vault-v2/src/mixins/UniV2Mixin.sol#42)\n\t\t- IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/UniV2Mixin.sol#46-53)\n\t\t- IERC20(_from).safeApprove(_router,0) (lib/vault-v2/src/mixins/UniV2Mixin.sol#51)\n\t\t- IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/UniV2Mixin.sol#55-57)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#147)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount) (lib/vault-v2/src/ReaperSwapper.sol#485)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#147)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal) (lib/vault-v2/src/ReaperSwapper.sol#493)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t\t- IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal) (lib/vault-v2/src/ReaperSwapper.sol#497)\n\tExternal calls sending eth:\n\t- _swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#149)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#147)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#147)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\tEvent emitted after the call(s):\n\t- GetAmountsOutFailed(_router,_amount,_from,_to) (lib/vault-v2/src/mixins/UniV2Mixin.sol#37)\n\t\t- _swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#149)\n\t- SwapFailed(_router,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/UniV2Mixin.sol#52)\n\t\t- _swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#149)\n", + "markdown": "Reentrancy in [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)](lib/vault-v2/src/ReaperSwapper.sol#L139-L150):\n\tExternal calls:\n\t- [_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L149)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [IERC20(_from).safeIncreaseAllowance(_router,_amount)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L42)\n\t\t- [IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L46-L53)\n\t\t- [IERC20(_from).safeApprove(_router,0)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L51)\n\t\t- [IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L55-L57)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L147)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)](lib/vault-v2/src/ReaperSwapper.sol#L485)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L147)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)](lib/vault-v2/src/ReaperSwapper.sol#L493)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t\t- [IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)](lib/vault-v2/src/ReaperSwapper.sol#L497)\n\tExternal calls sending eth:\n\t- [_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L149)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L147)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L147)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\tEvent emitted after the call(s):\n\t- [GetAmountsOutFailed(_router,_amount,_from,_to)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L37)\n\t\t- [_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L149)\n\t- [SwapFailed(_router,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L52)\n\t\t- [_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L149)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L139-L150", + "id": "10ddb26acba74e372c85b3164933929baee8d00e79dab8d38b7fdeed4f18d3a0", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + }, + { + "type": "node", + "name": "_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", + "source_mapping": { + "start": 7824, + "length": 88, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 217 + ], + "starting_column": 9, + "ending_column": 97 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4166, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3747, + "length": 706, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20", + "source_mapping": { + "start": 707, + "length": 3748, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeIncreaseAllowance(_router,_amount)", + "source_mapping": { + "start": 1784, + "length": 53, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 50 + ], + "starting_column": 9, + "ending_column": 62 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", + "source_mapping": { + "start": 1889, + "length": 401, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeApprove(_router,0)", + "source_mapping": { + "start": 2160, + "length": 37, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 57 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", + "source_mapping": { + "start": 2327, + "length": 210, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pullFromBefore(_from,_amount)", + "source_mapping": { + "start": 7639, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 215 + ], + "starting_column": 14, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4298, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3868, + "length": 717, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20Upgradeable", + "source_mapping": { + "start": 740, + "length": 3847, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)", + "source_mapping": { + "start": 19490, + "length": 85, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 485 + ], + "starting_column": 9, + "ending_column": 94 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pullFromBefore", + "source_mapping": { + "start": 19424, + "length": 169, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 484, + 485, + 486, + 487 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pullFromBefore(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pushFromAndToAfter(_from,_to)", + "source_mapping": { + "start": 7670, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 215 + ], + "starting_column": 45, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4298, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3868, + "length": 717, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20Upgradeable", + "source_mapping": { + "start": 740, + "length": 3847, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)", + "source_mapping": { + "start": 19793, + "length": 66, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 493 + ], + "starting_column": 13, + "ending_column": 79 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pushFromAndToAfter", + "source_mapping": { + "start": 19599, + "length": 470, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pushFromAndToAfter(address,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)", + "source_mapping": { + "start": 19990, + "length": 62, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 497 + ], + "starting_column": 13, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pushFromAndToAfter", + "source_mapping": { + "start": 19599, + "length": 470, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pushFromAndToAfter(address,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", + "source_mapping": { + "start": 7824, + "length": 88, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 217 + ], + "starting_column": 9, + "ending_column": 97 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pullFromBefore(_from,_amount)", + "source_mapping": { + "start": 7639, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 215 + ], + "starting_column": 14, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pushFromAndToAfter(_from,_to)", + "source_mapping": { + "start": 7670, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 215 + ], + "starting_column": 45, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "GetAmountsOutFailed(_router,_amount,_from,_to)", + "source_mapping": { + "start": 1619, + "length": 54, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 45 + ], + "starting_column": 13, + "ending_column": 67 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + }, + { + "type": "node", + "name": "_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", + "source_mapping": { + "start": 7824, + "length": 88, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 217 + ], + "starting_column": 9, + "ending_column": 97 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + }, + { + "type": "node", + "name": "SwapFailed(_router,_amount,_minAmountOut,_from,_to)", + "source_mapping": { + "start": 2215, + "length": 60, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 58 + ], + "starting_column": 17, + "ending_column": 77 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + }, + { + "type": "node", + "name": "_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", + "source_mapping": { + "start": 7824, + "length": 88, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 217 + ], + "starting_column": 9, + "ending_column": 97 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool) (lib/vault-v2/src/ReaperSwapper.sol#207-218):\n\tExternal calls:\n\t- _swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#217)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- IERC20(_from).safeIncreaseAllowance(_router,_amount) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#50)\n\t\t- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#52-59)\n\t\t- IERC20(_from).safeApprove(_router,0) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#57)\n\t\t- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#62-68)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#215)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount) (lib/vault-v2/src/ReaperSwapper.sol#485)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#215)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal) (lib/vault-v2/src/ReaperSwapper.sol#493)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t\t- IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal) (lib/vault-v2/src/ReaperSwapper.sol#497)\n\tExternal calls sending eth:\n\t- _swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#217)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#215)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#215)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\tEvent emitted after the call(s):\n\t- GetAmountsOutFailed(_router,_amount,_from,_to) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#45)\n\t\t- _swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#217)\n\t- SwapFailed(_router,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#58)\n\t\t- _swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#217)\n", + "markdown": "Reentrancy in [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)](lib/vault-v2/src/ReaperSwapper.sol#L207-L218):\n\tExternal calls:\n\t- [_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L217)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [IERC20(_from).safeIncreaseAllowance(_router,_amount)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L50)\n\t\t- [router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L52-L59)\n\t\t- [IERC20(_from).safeApprove(_router,0)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L57)\n\t\t- [router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L62-L68)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L215)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)](lib/vault-v2/src/ReaperSwapper.sol#L485)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L215)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)](lib/vault-v2/src/ReaperSwapper.sol#L493)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t\t- [IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)](lib/vault-v2/src/ReaperSwapper.sol#L497)\n\tExternal calls sending eth:\n\t- [_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L217)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L215)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L215)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\tEvent emitted after the call(s):\n\t- [GetAmountsOutFailed(_router,_amount,_from,_to)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L45)\n\t\t- [_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L217)\n\t- [SwapFailed(_router,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L58)\n\t\t- [_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L217)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L207-L218", + "id": "19acbcb4d6835840db936ed70e0dddd5b1f9569d32cc2f3bbd64ec8e55f0a367", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_redeem", + "source_mapping": { + "start": 9155, + "length": 752, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" + } + }, + { + "type": "node", + "name": "distributeFeesFrom(paymentAmount,paymentToken,from)", + "source_mapping": { + "start": 9698, + "length": 53, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 246 + ], + "starting_column": 9, + "ending_column": 62 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_redeem", + "source_mapping": { + "start": 9155, + "length": 752, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4166, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3747, + "length": 706, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20", + "source_mapping": { + "start": 707, + "length": 3748, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "token.safeTransferFrom(from,feeRecipients[i],feeAmount)", + "source_mapping": { + "start": 3306, + "length": 57, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 79 + ], + "starting_column": 13, + "ending_column": 70 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFeesFrom", + "source_mapping": { + "start": 3017, + "length": 554, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFeesFrom(uint256,IERC20,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)", + "source_mapping": { + "start": 3419, + "length": 80, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 82 + ], + "starting_column": 9, + "ending_column": 89 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFeesFrom", + "source_mapping": { + "start": 3017, + "length": 554, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFeesFrom(uint256,IERC20,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_pay(recipient,amount)", + "source_mapping": { + "start": 9812, + "length": 23, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 248 + ], + "starting_column": 9, + "ending_column": 32 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_redeem", + "source_mapping": { + "start": 9155, + "length": 752, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4166, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3747, + "length": 706, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20", + "source_mapping": { + "start": 707, + "length": 3748, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "underlyingToken.safeTransfer(to,balance)", + "source_mapping": { + "start": 10112, + "length": 41, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 256 + ], + "starting_column": 13, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_pay", + "source_mapping": { + "start": 9913, + "length": 415, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_pay(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "underlyingToken.safeTransfer(to,amount)", + "source_mapping": { + "start": 10232, + "length": 40, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 259 + ], + "starting_column": 13, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_pay", + "source_mapping": { + "start": 9913, + "length": 415, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_pay(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "distributeFeesFrom(paymentAmount,paymentToken,from)", + "source_mapping": { + "start": 9698, + "length": 53, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 246 + ], + "starting_column": 9, + "ending_column": 62 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_redeem", + "source_mapping": { + "start": 9155, + "length": 752, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_pay(recipient,amount)", + "source_mapping": { + "start": 9812, + "length": 23, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 248 + ], + "starting_column": 9, + "ending_column": 32 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_redeem", + "source_mapping": { + "start": 9155, + "length": 752, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "Exercised(from,recipient,amount,paymentAmount)", + "source_mapping": { + "start": 9846, + "length": 54, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 250 + ], + "starting_column": 9, + "ending_column": 63 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_redeem", + "source_mapping": { + "start": 9155, + "length": 752, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in DiscountExercise._redeem(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#234-251):\n\tExternal calls:\n\t- distributeFeesFrom(paymentAmount,paymentToken,from) (src/exercise/DiscountExercise.sol#246)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- token.safeTransferFrom(from,feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#79)\n\t\t- token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#82)\n\t- _pay(recipient,amount) (src/exercise/DiscountExercise.sol#248)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- underlyingToken.safeTransfer(to,balance) (src/exercise/DiscountExercise.sol#256)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- underlyingToken.safeTransfer(to,amount) (src/exercise/DiscountExercise.sol#259)\n\tExternal calls sending eth:\n\t- distributeFeesFrom(paymentAmount,paymentToken,from) (src/exercise/DiscountExercise.sol#246)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t- _pay(recipient,amount) (src/exercise/DiscountExercise.sol#248)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\tEvent emitted after the call(s):\n\t- Exercised(from,recipient,amount,paymentAmount) (src/exercise/DiscountExercise.sol#250)\n", + "markdown": "Reentrancy in [DiscountExercise._redeem(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L234-L251):\n\tExternal calls:\n\t- [distributeFeesFrom(paymentAmount,paymentToken,from)](src/exercise/DiscountExercise.sol#L246)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [token.safeTransferFrom(from,feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L79)\n\t\t- [token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L82)\n\t- [_pay(recipient,amount)](src/exercise/DiscountExercise.sol#L248)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [underlyingToken.safeTransfer(to,balance)](src/exercise/DiscountExercise.sol#L256)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [underlyingToken.safeTransfer(to,amount)](src/exercise/DiscountExercise.sol#L259)\n\tExternal calls sending eth:\n\t- [distributeFeesFrom(paymentAmount,paymentToken,from)](src/exercise/DiscountExercise.sol#L246)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t- [_pay(recipient,amount)](src/exercise/DiscountExercise.sol#L248)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\tEvent emitted after the call(s):\n\t- [Exercised(from,recipient,amount,paymentAmount)](src/exercise/DiscountExercise.sol#L250)\n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L234-L251", + "id": "26caaa03d129daf1e06f63fba1f271327eb635ddffdba1b035775a48b226290d", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeIncreaseAllowance(_router,_amount)", + "source_mapping": { + "start": 1784, + "length": 53, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 50 + ], + "starting_column": 9, + "ending_column": 62 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", + "source_mapping": { + "start": 1889, + "length": 401, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeApprove(_router,0)", + "source_mapping": { + "start": 2160, + "length": 37, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 57 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "SwapFailed(_router,_amount,_minAmountOut,_from,_to)", + "source_mapping": { + "start": 2215, + "length": 60, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 58 + ], + "starting_column": 17, + "ending_column": 77 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#24-71):\n\tExternal calls:\n\t- IERC20(_from).safeIncreaseAllowance(_router,_amount) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#50)\n\t- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#52-59)\n\t- IERC20(_from).safeApprove(_router,0) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#57)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_router,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#58)\n", + "markdown": "Reentrancy in [VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L24-L71):\n\tExternal calls:\n\t- [IERC20(_from).safeIncreaseAllowance(_router,_amount)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L50)\n\t- [router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L52-L59)\n\t- [IERC20(_from).safeApprove(_router,0)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L57)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_router,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L58)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/VeloSolidMixin.sol#L24-L71", + "id": "64eb188174f60b500640995e6c3c45d0308f915abcaa5e5dfe2a2d61bb334e63", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + }, + { + "type": "node", + "name": "_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)", + "source_mapping": { + "start": 6682, + "length": 86, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 183 + ], + "starting_column": 9, + "ending_column": 95 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4166, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3747, + "length": 706, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20", + "source_mapping": { + "start": 707, + "length": 3748, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance)", + "source_mapping": { + "start": 2092, + "length": 71, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 59 + ], + "starting_column": 13, + "ending_column": 84 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)", + "source_mapping": { + "start": 2294, + "length": 448, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeApprove(_vault,0)", + "source_mapping": { + "start": 2596, + "length": 36, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 69 + ], + "starting_column": 21, + "ending_column": 57 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "amountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)", + "source_mapping": { + "start": 2772, + "length": 80, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 74 + ], + "starting_column": 13, + "ending_column": 93 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pullFromBefore(_from,_amount)", + "source_mapping": { + "start": 6497, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 181 + ], + "starting_column": 14, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4298, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3868, + "length": 717, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20Upgradeable", + "source_mapping": { + "start": 740, + "length": 3847, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)", + "source_mapping": { + "start": 19490, + "length": 85, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 485 + ], + "starting_column": 9, + "ending_column": 94 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pullFromBefore", + "source_mapping": { + "start": 19424, + "length": 169, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 484, + 485, + 486, + 487 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pullFromBefore(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pushFromAndToAfter(_from,_to)", + "source_mapping": { + "start": 6528, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 181 + ], + "starting_column": 45, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4298, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3868, + "length": 717, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20Upgradeable", + "source_mapping": { + "start": 740, + "length": 3847, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)", + "source_mapping": { + "start": 19793, + "length": 66, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 493 + ], + "starting_column": 13, + "ending_column": 79 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pushFromAndToAfter", + "source_mapping": { + "start": 19599, + "length": 470, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pushFromAndToAfter(address,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)", + "source_mapping": { + "start": 19990, + "length": 62, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 497 + ], + "starting_column": 13, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pushFromAndToAfter", + "source_mapping": { + "start": 19599, + "length": 470, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pushFromAndToAfter(address,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)", + "source_mapping": { + "start": 6682, + "length": 86, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 183 + ], + "starting_column": 9, + "ending_column": 95 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pullFromBefore(_from,_amount)", + "source_mapping": { + "start": 6497, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 181 + ], + "starting_column": 14, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pushFromAndToAfter(_from,_to)", + "source_mapping": { + "start": 6528, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 181 + ], + "starting_column": 45, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "SwapFailed(_vault,_amount,_minAmountOut,_from,_to)", + "source_mapping": { + "start": 2668, + "length": 59, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 71 + ], + "starting_column": 17, + "ending_column": 76 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + }, + { + "type": "node", + "name": "_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)", + "source_mapping": { + "start": 6682, + "length": 86, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 183 + ], + "starting_column": 9, + "ending_column": 95 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool) (lib/vault-v2/src/ReaperSwapper.sol#173-184):\n\tExternal calls:\n\t- _swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#183)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance) (lib/vault-v2/src/mixins/BalMixin.sol#59)\n\t\t- tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline) (lib/vault-v2/src/mixins/BalMixin.sol#64-72)\n\t\t- IERC20(_from).safeApprove(_vault,0) (lib/vault-v2/src/mixins/BalMixin.sol#69)\n\t\t- amountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline) (lib/vault-v2/src/mixins/BalMixin.sol#74)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#181)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount) (lib/vault-v2/src/ReaperSwapper.sol#485)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#181)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal) (lib/vault-v2/src/ReaperSwapper.sol#493)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t\t- IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal) (lib/vault-v2/src/ReaperSwapper.sol#497)\n\tExternal calls sending eth:\n\t- _swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#183)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#181)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#181)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_vault,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/BalMixin.sol#71)\n\t\t- _swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#183)\n", + "markdown": "Reentrancy in [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)](lib/vault-v2/src/ReaperSwapper.sol#L173-L184):\n\tExternal calls:\n\t- [_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L183)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance)](lib/vault-v2/src/mixins/BalMixin.sol#L59)\n\t\t- [tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)](lib/vault-v2/src/mixins/BalMixin.sol#L64-L72)\n\t\t- [IERC20(_from).safeApprove(_vault,0)](lib/vault-v2/src/mixins/BalMixin.sol#L69)\n\t\t- [amountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)](lib/vault-v2/src/mixins/BalMixin.sol#L74)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L181)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)](lib/vault-v2/src/ReaperSwapper.sol#L485)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L181)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)](lib/vault-v2/src/ReaperSwapper.sol#L493)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t\t- [IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)](lib/vault-v2/src/ReaperSwapper.sol#L497)\n\tExternal calls sending eth:\n\t- [_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L183)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L181)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L181)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_vault,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/BalMixin.sol#L71)\n\t\t- [_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L183)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L173-L184", + "id": "6afd47a6cc546c6f39cd92034e38da33b560d04fbd75a1655a8c2dfb29e08cdd", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + }, + { + "type": "node", + "name": "TransferHelper.safeApprove(path[0],_params.router,_params.amount)", + "source_mapping": { + "start": 1708, + "length": 67, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 49 + ], + "starting_column": 9, + "ending_column": 76 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "tmpAmountOut = ISwapRouter(_params.router).exactInput(params)", + "source_mapping": { + "start": 2186, + "length": 346, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 60, + 61, + 62, + 63, + 64, + 65 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "TransferHelper.safeApprove(path[0],_params.router,0)", + "source_mapping": { + "start": 2350, + "length": 54, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 63 + ], + "starting_column": 17, + "ending_column": 71 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to)", + "source_mapping": { + "start": 2422, + "length": 95, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 64 + ], + "starting_column": 17, + "ending_column": 112 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in UniV3Mixin._swapUniV3(UniV3Mixin.Params__swapUniV3) (lib/vault-v2/src/mixins/UniV3Mixin.sol#38-69):\n\tExternal calls:\n\t- TransferHelper.safeApprove(path[0],_params.router,_params.amount) (lib/vault-v2/src/mixins/UniV3Mixin.sol#49)\n\t- tmpAmountOut = ISwapRouter(_params.router).exactInput(params) (lib/vault-v2/src/mixins/UniV3Mixin.sol#60-65)\n\t- TransferHelper.safeApprove(path[0],_params.router,0) (lib/vault-v2/src/mixins/UniV3Mixin.sol#63)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to) (lib/vault-v2/src/mixins/UniV3Mixin.sol#64)\n", + "markdown": "Reentrancy in [UniV3Mixin._swapUniV3(UniV3Mixin.Params__swapUniV3)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L38-L69):\n\tExternal calls:\n\t- [TransferHelper.safeApprove(path[0],_params.router,_params.amount)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L49)\n\t- [tmpAmountOut = ISwapRouter(_params.router).exactInput(params)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L60-L65)\n\t- [TransferHelper.safeApprove(path[0],_params.router,0)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L63)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L64)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L38-L69", + "id": "7476c00ea23c811b6774a0358c1ce4170dea75590e0878323a36cacc5adb0379", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance)", + "source_mapping": { + "start": 2092, + "length": 71, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 59 + ], + "starting_column": 13, + "ending_column": 84 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)", + "source_mapping": { + "start": 2294, + "length": 448, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeApprove(_vault,0)", + "source_mapping": { + "start": 2596, + "length": 36, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 69 + ], + "starting_column": 21, + "ending_column": 57 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "SwapFailed(_vault,_amount,_minAmountOut,_from,_to)", + "source_mapping": { + "start": 2668, + "length": 59, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 71 + ], + "starting_column": 17, + "ending_column": 76 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/BalMixin.sol#25-76):\n\tExternal calls:\n\t- IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance) (lib/vault-v2/src/mixins/BalMixin.sol#59)\n\t- tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline) (lib/vault-v2/src/mixins/BalMixin.sol#64-72)\n\t- IERC20(_from).safeApprove(_vault,0) (lib/vault-v2/src/mixins/BalMixin.sol#69)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_vault,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/BalMixin.sol#71)\n", + "markdown": "Reentrancy in [BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/BalMixin.sol#L25-L76):\n\tExternal calls:\n\t- [IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance)](lib/vault-v2/src/mixins/BalMixin.sol#L59)\n\t- [tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)](lib/vault-v2/src/mixins/BalMixin.sol#L64-L72)\n\t- [IERC20(_from).safeApprove(_vault,0)](lib/vault-v2/src/mixins/BalMixin.sol#L69)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_vault,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/BalMixin.sol#L71)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L25-L76", + "id": "77714ef1ffc67e587fe7e535481ee61f37a6029f67e7f2a1b6502b530a92b385", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_exercise", + "source_mapping": { + "start": 5470, + "length": 847, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_exercise(uint256,address,address,bytes)" + } + }, + { + "type": "node", + "name": "(paymentAmount,data0,data1,data2) = IExercise(option).exercise(msg.sender,amount,recipient,params)", + "source_mapping": { + "start": 6108, + "length": 104, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 148 + ], + "starting_column": 9, + "ending_column": 113 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_exercise", + "source_mapping": { + "start": 5470, + "length": 847, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_exercise(uint256,address,address,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "Exercise(msg.sender,recipient,amount,data0,data1,data2)", + "source_mapping": { + "start": 6245, + "length": 65, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 151 + ], + "starting_column": 9, + "ending_column": 74 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_exercise", + "source_mapping": { + "start": 5470, + "length": 847, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_exercise(uint256,address,address,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in OptionsToken._exercise(uint256,address,address,bytes) (src/OptionsToken.sol#128-152):\n\tExternal calls:\n\t- (paymentAmount,data0,data1,data2) = IExercise(option).exercise(msg.sender,amount,recipient,params) (src/OptionsToken.sol#148)\n\tEvent emitted after the call(s):\n\t- Exercise(msg.sender,recipient,amount,data0,data1,data2) (src/OptionsToken.sol#151)\n", + "markdown": "Reentrancy in [OptionsToken._exercise(uint256,address,address,bytes)](src/OptionsToken.sol#L128-L152):\n\tExternal calls:\n\t- [(paymentAmount,data0,data1,data2) = IExercise(option).exercise(msg.sender,amount,recipient,params)](src/OptionsToken.sol#L148)\n\tEvent emitted after the call(s):\n\t- [Exercise(msg.sender,recipient,amount,data0,data1,data2)](src/OptionsToken.sol#L151)\n", + "first_markdown_element": "src/OptionsToken.sol#L128-L152", + "id": "9647d6058a2a1f10ef7714d6f960ae5b85d86b4e1fcd2ffd512fd2031b5d6fe7", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeIncreaseAllowance(_router,_amount)", + "source_mapping": { + "start": 1488, + "length": 53, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 42 + ], + "starting_column": 9, + "ending_column": 62 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", + "source_mapping": { + "start": 1662, + "length": 422, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "IERC20(_from).safeApprove(_router,0)", + "source_mapping": { + "start": 1954, + "length": 37, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 51 + ], + "starting_column": 17, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "SwapFailed(_router,_amount,_minAmountOut,_from,_to)", + "source_mapping": { + "start": 2009, + "length": 60, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 52 + ], + "starting_column": 17, + "ending_column": 77 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in UniV2Mixin._swapUniV2(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/UniV2Mixin.sol#20-60):\n\tExternal calls:\n\t- IERC20(_from).safeIncreaseAllowance(_router,_amount) (lib/vault-v2/src/mixins/UniV2Mixin.sol#42)\n\t- IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/UniV2Mixin.sol#46-53)\n\t- IERC20(_from).safeApprove(_router,0) (lib/vault-v2/src/mixins/UniV2Mixin.sol#51)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_router,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/UniV2Mixin.sol#52)\n", + "markdown": "Reentrancy in [UniV2Mixin._swapUniV2(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L20-L60):\n\tExternal calls:\n\t- [IERC20(_from).safeIncreaseAllowance(_router,_amount)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L42)\n\t- [IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L46-L53)\n\t- [IERC20(_from).safeApprove(_router,0)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L51)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_router,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L52)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/UniV2Mixin.sol#L20-L60", + "id": "b59ab902647dd201a6cd9aca4552dafa018066963efcc3219bd8955570f9b1e5", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "distributeFeesFrom", + "source_mapping": { + "start": 3017, + "length": 554, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFeesFrom(uint256,IERC20,address)" + } + }, + { + "type": "node", + "name": "token.safeTransferFrom(from,feeRecipients[i],feeAmount)", + "source_mapping": { + "start": 3306, + "length": 57, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 79 + ], + "starting_column": 13, + "ending_column": 70 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFeesFrom", + "source_mapping": { + "start": 3017, + "length": 554, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFeesFrom(uint256,IERC20,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)", + "source_mapping": { + "start": 3419, + "length": 80, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 82 + ], + "starting_column": 9, + "ending_column": 89 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFeesFrom", + "source_mapping": { + "start": 3017, + "length": 554, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFeesFrom(uint256,IERC20,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "DistributeFees(feeRecipients,feeBPS,totalAmount)", + "source_mapping": { + "start": 3509, + "length": 55, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 83 + ], + "starting_column": 9, + "ending_column": 64 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFeesFrom", + "source_mapping": { + "start": 3017, + "length": 554, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFeesFrom(uint256,IERC20,address)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in BaseExercise.distributeFeesFrom(uint256,IERC20,address) (src/exercise/BaseExercise.sol#75-84):\n\tExternal calls:\n\t- token.safeTransferFrom(from,feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#79)\n\t- token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#82)\n\tEvent emitted after the call(s):\n\t- DistributeFees(feeRecipients,feeBPS,totalAmount) (src/exercise/BaseExercise.sol#83)\n", + "markdown": "Reentrancy in [BaseExercise.distributeFeesFrom(uint256,IERC20,address)](src/exercise/BaseExercise.sol#L75-L84):\n\tExternal calls:\n\t- [token.safeTransferFrom(from,feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L79)\n\t- [token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L82)\n\tEvent emitted after the call(s):\n\t- [DistributeFees(feeRecipients,feeBPS,totalAmount)](src/exercise/BaseExercise.sol#L83)\n", + "first_markdown_element": "src/exercise/BaseExercise.sol#L75-L84", + "id": "bf1b099632b824aafcfad9a23ac98bf3dcb6b4fb4b4b5ae04e209e3b61acc42f", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "distributeFees", + "source_mapping": { + "start": 3762, + "length": 604, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFees(uint256,IERC20)" + } + }, + { + "type": "node", + "name": "token.safeTransfer(feeRecipients[i],feeAmount)", + "source_mapping": { + "start": 4121, + "length": 47, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 94 + ], + "starting_column": 13, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFees", + "source_mapping": { + "start": 3762, + "length": 604, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFees(uint256,IERC20)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)", + "source_mapping": { + "start": 4224, + "length": 70, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 97 + ], + "starting_column": 9, + "ending_column": 79 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFees", + "source_mapping": { + "start": 3762, + "length": 604, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFees(uint256,IERC20)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "DistributeFees(feeRecipients,feeBPS,totalAmount)", + "source_mapping": { + "start": 4304, + "length": 55, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 98 + ], + "starting_column": 9, + "ending_column": 64 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFees", + "source_mapping": { + "start": 3762, + "length": 604, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFees(uint256,IERC20)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in BaseExercise.distributeFees(uint256,IERC20) (src/exercise/BaseExercise.sol#88-99):\n\tExternal calls:\n\t- token.safeTransfer(feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#94)\n\t- token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#97)\n\tEvent emitted after the call(s):\n\t- DistributeFees(feeRecipients,feeBPS,totalAmount) (src/exercise/BaseExercise.sol#98)\n", + "markdown": "Reentrancy in [BaseExercise.distributeFees(uint256,IERC20)](src/exercise/BaseExercise.sol#L88-L99):\n\tExternal calls:\n\t- [token.safeTransfer(feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L94)\n\t- [token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L97)\n\tEvent emitted after the call(s):\n\t- [DistributeFees(feeRecipients,feeBPS,totalAmount)](src/exercise/BaseExercise.sol#L98)\n", + "first_markdown_element": "src/exercise/BaseExercise.sol#L88-L99", + "id": "cc6f76bc69057bc8d1566793027f78e4e33511dc9a9f9b389b45a7c32f934e73", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + }, + { + "type": "node", + "name": "underlyingToken.approve(swapProps.swapper,feeAmount)", + "source_mapping": { + "start": 8058, + "length": 53, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 213 + ], + "starting_column": 13, + "ending_column": 66 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)", + "source_mapping": { + "start": 8277, + "length": 138, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 216 + ], + "starting_column": 13, + "ending_column": 151 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2488, + "length": 80, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 75 + ], + "starting_column": 13, + "ending_column": 93 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2631, + "length": 78, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 77 + ], + "starting_column": 13, + "ending_column": 91 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2778, + "length": 79, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 79 + ], + "starting_column": 13, + "ending_column": 92 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2922, + "length": 80, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 81 + ], + "starting_column": 13, + "ending_column": 93 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "distributeFees(paymentToken.balanceOf(address(this)),paymentToken)", + "source_mapping": { + "start": 8593, + "length": 67, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 220 + ], + "starting_column": 13, + "ending_column": 80 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4166, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3747, + "length": 706, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20", + "source_mapping": { + "start": 707, + "length": 3748, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "token.safeTransfer(feeRecipients[i],feeAmount)", + "source_mapping": { + "start": 4121, + "length": 47, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 94 + ], + "starting_column": 13, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFees", + "source_mapping": { + "start": 3762, + "length": 604, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFees(uint256,IERC20)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)", + "source_mapping": { + "start": 4224, + "length": 70, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 97 + ], + "starting_column": 9, + "ending_column": 79 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFees", + "source_mapping": { + "start": 3762, + "length": 604, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFees(uint256,IERC20)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_pay(recipient,underlyingAmount)", + "source_mapping": { + "start": 9007, + "length": 33, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 228 + ], + "starting_column": 9, + "ending_column": 42 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4166, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3747, + "length": 706, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20", + "source_mapping": { + "start": 707, + "length": 3748, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "underlyingToken.safeTransfer(to,balance)", + "source_mapping": { + "start": 10112, + "length": 41, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 256 + ], + "starting_column": 13, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_pay", + "source_mapping": { + "start": 9913, + "length": 415, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_pay(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "underlyingToken.safeTransfer(to,amount)", + "source_mapping": { + "start": 10232, + "length": 40, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 259 + ], + "starting_column": 13, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_pay", + "source_mapping": { + "start": 9913, + "length": 415, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_pay(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "distributeFees(paymentToken.balanceOf(address(this)),paymentToken)", + "source_mapping": { + "start": 8593, + "length": 67, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 220 + ], + "starting_column": 13, + "ending_column": 80 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_pay(recipient,underlyingAmount)", + "source_mapping": { + "start": 9007, + "length": 33, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 228 + ], + "starting_column": 9, + "ending_column": 42 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "Exercised(from,recipient,underlyingAmount,paymentAmount)", + "source_mapping": { + "start": 9051, + "length": 64, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 230 + ], + "starting_column": 9, + "ending_column": 73 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231):\n\tExternal calls:\n\t- underlyingToken.approve(swapProps.swapper,feeAmount) (src/exercise/DiscountExercise.sol#213)\n\t- _generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress) (src/exercise/DiscountExercise.sol#216)\n\t\t- _swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#75)\n\t\t- _swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#77)\n\t\t- _swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#79)\n\t\t- _swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#81)\n\t- distributeFees(paymentToken.balanceOf(address(this)),paymentToken) (src/exercise/DiscountExercise.sol#220)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- token.safeTransfer(feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#94)\n\t\t- token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#97)\n\t- _pay(recipient,underlyingAmount) (src/exercise/DiscountExercise.sol#228)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- underlyingToken.safeTransfer(to,balance) (src/exercise/DiscountExercise.sol#256)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- underlyingToken.safeTransfer(to,amount) (src/exercise/DiscountExercise.sol#259)\n\tExternal calls sending eth:\n\t- distributeFees(paymentToken.balanceOf(address(this)),paymentToken) (src/exercise/DiscountExercise.sol#220)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t- _pay(recipient,underlyingAmount) (src/exercise/DiscountExercise.sol#228)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\tEvent emitted after the call(s):\n\t- Exercised(from,recipient,underlyingAmount,paymentAmount) (src/exercise/DiscountExercise.sol#230)\n", + "markdown": "Reentrancy in [DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231):\n\tExternal calls:\n\t- [underlyingToken.approve(swapProps.swapper,feeAmount)](src/exercise/DiscountExercise.sol#L213)\n\t- [_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)](src/exercise/DiscountExercise.sol#L216)\n\t\t- [_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L75)\n\t\t- [_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L77)\n\t\t- [_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L79)\n\t\t- [_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L81)\n\t- [distributeFees(paymentToken.balanceOf(address(this)),paymentToken)](src/exercise/DiscountExercise.sol#L220)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [token.safeTransfer(feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L94)\n\t\t- [token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L97)\n\t- [_pay(recipient,underlyingAmount)](src/exercise/DiscountExercise.sol#L228)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [underlyingToken.safeTransfer(to,balance)](src/exercise/DiscountExercise.sol#L256)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [underlyingToken.safeTransfer(to,amount)](src/exercise/DiscountExercise.sol#L259)\n\tExternal calls sending eth:\n\t- [distributeFees(paymentToken.balanceOf(address(this)),paymentToken)](src/exercise/DiscountExercise.sol#L220)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t- [_pay(recipient,underlyingAmount)](src/exercise/DiscountExercise.sol#L228)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\tEvent emitted after the call(s):\n\t- [Exercised(from,recipient,underlyingAmount,paymentAmount)](src/exercise/DiscountExercise.sol#L230)\n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", + "id": "e13cadbb7879bfd546c8fbbad0a7fe265276aed28f548d1bc238ae613cc8ff47", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + }, + { + "type": "node", + "name": "_swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive))", + "source_mapping": { + "start": 8977, + "length": 108, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 251 + ], + "starting_column": 9, + "ending_column": 117 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "(success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value))", + "source_mapping": { + "start": 1866, + "length": 106, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 35 + ], + "starting_column": 9, + "ending_column": 115 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "safeApprove", + "source_mapping": { + "start": 1784, + "length": 277, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 34, + 35, + 36, + 37 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TransferHelper", + "source_mapping": { + "start": 108, + "length": 2309, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "safeApprove(address,address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "TransferHelper.safeApprove(path[0],_params.router,_params.amount)", + "source_mapping": { + "start": 1708, + "length": 67, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 49 + ], + "starting_column": 9, + "ending_column": 76 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "tmpAmountOut = ISwapRouter(_params.router).exactInput(params)", + "source_mapping": { + "start": 2186, + "length": 346, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 60, + 61, + 62, + 63, + 64, + 65 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "TransferHelper.safeApprove(path[0],_params.router,0)", + "source_mapping": { + "start": 2350, + "length": 54, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 63 + ], + "starting_column": 17, + "ending_column": 71 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "amountOut = ISwapRouter(_params.router).exactInput(params)", + "source_mapping": { + "start": 2562, + "length": 58, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 67 + ], + "starting_column": 13, + "ending_column": 71 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pullFromBefore(_from,_amount)", + "source_mapping": { + "start": 8792, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 249 + ], + "starting_column": 14, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4298, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3868, + "length": 717, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20Upgradeable", + "source_mapping": { + "start": 740, + "length": 3847, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)", + "source_mapping": { + "start": 19490, + "length": 85, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 485 + ], + "starting_column": 9, + "ending_column": 94 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pullFromBefore", + "source_mapping": { + "start": 19424, + "length": 169, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 484, + 485, + 486, + 487 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pullFromBefore(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pushFromAndToAfter(_from,_to)", + "source_mapping": { + "start": 8823, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 249 + ], + "starting_column": 45, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4298, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3868, + "length": 717, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20Upgradeable", + "source_mapping": { + "start": 740, + "length": 3847, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)", + "source_mapping": { + "start": 19793, + "length": 66, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 493 + ], + "starting_column": 13, + "ending_column": 79 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pushFromAndToAfter", + "source_mapping": { + "start": 19599, + "length": 470, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pushFromAndToAfter(address,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)", + "source_mapping": { + "start": 19990, + "length": 62, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 497 + ], + "starting_column": 13, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "pushFromAndToAfter", + "source_mapping": { + "start": 19599, + "length": 470, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "pushFromAndToAfter(address,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pullFromBefore(_from,_amount)", + "source_mapping": { + "start": 8792, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 249 + ], + "starting_column": 14, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "pushFromAndToAfter(_from,_to)", + "source_mapping": { + "start": 8823, + "length": 30, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 249 + ], + "starting_column": 45, + "ending_column": 75 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to)", + "source_mapping": { + "start": 2422, + "length": 95, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 64 + ], + "starting_column": 17, + "ending_column": 112 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV3", + "source_mapping": { + "start": 1138, + "length": 1499, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + }, + { + "type": "node", + "name": "_swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive))", + "source_mapping": { + "start": 8977, + "length": 108, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 251 + ], + "starting_column": 9, + "ending_column": 117 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool) (lib/vault-v2/src/ReaperSwapper.sol#241-252):\n\tExternal calls:\n\t- _swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)) (lib/vault-v2/src/ReaperSwapper.sol#251)\n\t\t- (success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value)) (lib/vault-v2/src/libraries/TransferHelper.sol#35)\n\t\t- TransferHelper.safeApprove(path[0],_params.router,_params.amount) (lib/vault-v2/src/mixins/UniV3Mixin.sol#49)\n\t\t- tmpAmountOut = ISwapRouter(_params.router).exactInput(params) (lib/vault-v2/src/mixins/UniV3Mixin.sol#60-65)\n\t\t- TransferHelper.safeApprove(path[0],_params.router,0) (lib/vault-v2/src/mixins/UniV3Mixin.sol#63)\n\t\t- amountOut = ISwapRouter(_params.router).exactInput(params) (lib/vault-v2/src/mixins/UniV3Mixin.sol#67)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#249)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount) (lib/vault-v2/src/ReaperSwapper.sol#485)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#249)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal) (lib/vault-v2/src/ReaperSwapper.sol#493)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t\t- IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal) (lib/vault-v2/src/ReaperSwapper.sol#497)\n\tExternal calls sending eth:\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#249)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#249)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to) (lib/vault-v2/src/mixins/UniV3Mixin.sol#64)\n\t\t- _swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)) (lib/vault-v2/src/ReaperSwapper.sol#251)\n", + "markdown": "Reentrancy in [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)](lib/vault-v2/src/ReaperSwapper.sol#L241-L252):\n\tExternal calls:\n\t- [_swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive))](lib/vault-v2/src/ReaperSwapper.sol#L251)\n\t\t- [(success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value))](lib/vault-v2/src/libraries/TransferHelper.sol#L35)\n\t\t- [TransferHelper.safeApprove(path[0],_params.router,_params.amount)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L49)\n\t\t- [tmpAmountOut = ISwapRouter(_params.router).exactInput(params)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L60-L65)\n\t\t- [TransferHelper.safeApprove(path[0],_params.router,0)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L63)\n\t\t- [amountOut = ISwapRouter(_params.router).exactInput(params)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L67)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L249)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)](lib/vault-v2/src/ReaperSwapper.sol#L485)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L249)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)](lib/vault-v2/src/ReaperSwapper.sol#L493)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t\t- [IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)](lib/vault-v2/src/ReaperSwapper.sol#L497)\n\tExternal calls sending eth:\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L249)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L249)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L64)\n\t\t- [_swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive))](lib/vault-v2/src/ReaperSwapper.sol#L251)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L241-L252", + "id": "e7ec4df5ce298c28fd7e1b953f526ffa840951ed878c7159f2eb300e06952fab", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + }, + { + "type": "node", + "name": "underlyingToken.approve(swapProps.swapper,feeAmount)", + "source_mapping": { + "start": 8058, + "length": 53, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 213 + ], + "starting_column": 13, + "ending_column": 66 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)", + "source_mapping": { + "start": 8277, + "length": 138, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 216 + ], + "starting_column": 13, + "ending_column": 151 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2488, + "length": 80, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 75 + ], + "starting_column": 13, + "ending_column": 93 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2631, + "length": 78, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 77 + ], + "starting_column": 13, + "ending_column": 91 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2778, + "length": 79, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 79 + ], + "starting_column": 13, + "ending_column": 92 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", + "source_mapping": { + "start": 2922, + "length": 80, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 81 + ], + "starting_column": 13, + "ending_column": 93 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_generalSwap", + "source_mapping": { + "start": 2091, + "length": 1014, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "distributeFees(paymentToken.balanceOf(address(this)),paymentToken)", + "source_mapping": { + "start": 8593, + "length": 67, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 220 + ], + "starting_column": 13, + "ending_column": 80 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", + "source_mapping": { + "start": 4166, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 104 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_callOptionalReturn", + "source_mapping": { + "start": 3747, + "length": 706, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SafeERC20", + "source_mapping": { + "start": 707, + "length": 3748, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_callOptionalReturn(IERC20,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "token.safeTransfer(feeRecipients[i],feeAmount)", + "source_mapping": { + "start": 4121, + "length": 47, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 94 + ], + "starting_column": 13, + "ending_column": 60 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFees", + "source_mapping": { + "start": 3762, + "length": 604, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFees(uint256,IERC20)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)", + "source_mapping": { + "start": 4224, + "length": 70, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 97 + ], + "starting_column": 9, + "ending_column": 79 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFees", + "source_mapping": { + "start": 3762, + "length": 604, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFees(uint256,IERC20)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "distributeFees(paymentToken.balanceOf(address(this)),paymentToken)", + "source_mapping": { + "start": 8593, + "length": 67, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 220 + ], + "starting_column": 13, + "ending_column": 80 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "DistributeFees(feeRecipients,feeBPS,totalAmount)", + "source_mapping": { + "start": 4304, + "length": 55, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 98 + ], + "starting_column": 9, + "ending_column": 64 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeFees", + "source_mapping": { + "start": 3762, + "length": 604, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "distributeFees(uint256,IERC20)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + }, + { + "type": "node", + "name": "distributeFees(paymentToken.balanceOf(address(this)),paymentToken)", + "source_mapping": { + "start": 8593, + "length": 67, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 220 + ], + "starting_column": 13, + "ending_column": 80 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231):\n\tExternal calls:\n\t- underlyingToken.approve(swapProps.swapper,feeAmount) (src/exercise/DiscountExercise.sol#213)\n\t- _generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress) (src/exercise/DiscountExercise.sol#216)\n\t\t- _swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#75)\n\t\t- _swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#77)\n\t\t- _swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#79)\n\t\t- _swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#81)\n\t- distributeFees(paymentToken.balanceOf(address(this)),paymentToken) (src/exercise/DiscountExercise.sol#220)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- token.safeTransfer(feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#94)\n\t\t- token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#97)\n\tExternal calls sending eth:\n\t- distributeFees(paymentToken.balanceOf(address(this)),paymentToken) (src/exercise/DiscountExercise.sol#220)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\tEvent emitted after the call(s):\n\t- DistributeFees(feeRecipients,feeBPS,totalAmount) (src/exercise/BaseExercise.sol#98)\n\t\t- distributeFees(paymentToken.balanceOf(address(this)),paymentToken) (src/exercise/DiscountExercise.sol#220)\n", + "markdown": "Reentrancy in [DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231):\n\tExternal calls:\n\t- [underlyingToken.approve(swapProps.swapper,feeAmount)](src/exercise/DiscountExercise.sol#L213)\n\t- [_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)](src/exercise/DiscountExercise.sol#L216)\n\t\t- [_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L75)\n\t\t- [_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L77)\n\t\t- [_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L79)\n\t\t- [_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L81)\n\t- [distributeFees(paymentToken.balanceOf(address(this)),paymentToken)](src/exercise/DiscountExercise.sol#L220)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [token.safeTransfer(feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L94)\n\t\t- [token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L97)\n\tExternal calls sending eth:\n\t- [distributeFees(paymentToken.balanceOf(address(this)),paymentToken)](src/exercise/DiscountExercise.sol#L220)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\tEvent emitted after the call(s):\n\t- [DistributeFees(feeRecipients,feeBPS,totalAmount)](src/exercise/BaseExercise.sol#L98)\n\t\t- [distributeFees(paymentToken.balanceOf(address(this)),paymentToken)](src/exercise/DiscountExercise.sol#L220)\n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", + "id": "fac3c8628962c8c145b9cc713e68a80a082c54c497a1d117e7426d73343a5856", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "permit", + "source_mapping": { + "start": 3838, + "length": 1483, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC20", + "source_mapping": { + "start": 474, + "length": 6337, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)" + } + }, + { + "type": "node", + "name": "require(bool,string)(deadline >= block.timestamp,PERMIT_DEADLINE_EXPIRED)", + "source_mapping": { + "start": 4037, + "length": 63, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 125 + ], + "starting_column": 9, + "ending_column": 72 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "permit", + "source_mapping": { + "start": 3838, + "length": 1483, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC20", + "source_mapping": { + "start": 474, + "length": 6337, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)" + } + } + } + } + ], + "description": "ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (lib/solmate/src/tokens/ERC20.sol#116-160) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(deadline >= block.timestamp,PERMIT_DEADLINE_EXPIRED) (lib/solmate/src/tokens/ERC20.sol#125)\n", + "markdown": "[ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32)](lib/solmate/src/tokens/ERC20.sol#L116-L160) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(deadline >= block.timestamp,PERMIT_DEADLINE_EXPIRED)](lib/solmate/src/tokens/ERC20.sol#L125)\n", + "first_markdown_element": "lib/solmate/src/tokens/ERC20.sol#L116-L160", + "id": "0fb9231dc121cc76860bb0687bd6cde7aeea76e6335fdfad5753810640c24c9b", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_authorizeUpgrade", + "source_mapping": { + "start": 7489, + "length": 338, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 186, + 187, + 188, + 189, + 190 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_authorizeUpgrade(address)" + } + }, + { + "type": "node", + "name": "require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing)", + "source_mapping": { + "start": 7583, + "length": 116, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 187 + ], + "starting_column": 9, + "ending_column": 125 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_authorizeUpgrade", + "source_mapping": { + "start": 7489, + "length": 338, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 186, + 187, + 188, + 189, + 190 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_authorizeUpgrade(address)" + } + } + } + } + ], + "description": "OptionsToken._authorizeUpgrade(address) (src/OptionsToken.sol#186-190) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing) (src/OptionsToken.sol#187)\n", + "markdown": "[OptionsToken._authorizeUpgrade(address)](src/OptionsToken.sol#L186-L190) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing)](src/OptionsToken.sol#L187)\n", + "first_markdown_element": "src/OptionsToken.sol#L186-L190", + "id": "47d6ef328e4bec93ff731c772653d7d7d1461f9a46b96c65802f9b0b2081a72b", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_chainlinkIsFrozen", + "source_mapping": { + "start": 17196, + "length": 258, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 431, + 432, + 433, + 434 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_chainlinkIsFrozen(ReaperSwapper.ChainlinkResponse,address)" + } + }, + { + "type": "node", + "name": "block.timestamp - _response.timestamp > aggregatorTimeout", + "source_mapping": { + "start": 17383, + "length": 64, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 433 + ], + "starting_column": 9, + "ending_column": 73 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_chainlinkIsFrozen", + "source_mapping": { + "start": 17196, + "length": 258, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 431, + 432, + 433, + 434 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_chainlinkIsFrozen(ReaperSwapper.ChainlinkResponse,address)" + } + } + } + } + ], + "description": "ReaperSwapper._chainlinkIsFrozen(ReaperSwapper.ChainlinkResponse,address) (lib/vault-v2/src/ReaperSwapper.sol#431-434) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp - _response.timestamp > aggregatorTimeout (lib/vault-v2/src/ReaperSwapper.sol#433)\n", + "markdown": "[ReaperSwapper._chainlinkIsFrozen(ReaperSwapper.ChainlinkResponse,address)](lib/vault-v2/src/ReaperSwapper.sol#L431-L434) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp - _response.timestamp > aggregatorTimeout](lib/vault-v2/src/ReaperSwapper.sol#L433)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L431-L434", + "id": "5b1d0ab9c3a7bcae71f7bd3a11a0caa71fd77c85af715f593d1fc00cf04614d3", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_redeem", + "source_mapping": { + "start": 9155, + "length": 752, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" + } + }, + { + "type": "node", + "name": "block.timestamp > params.deadline", + "source_mapping": { + "start": 9377, + "length": 33, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 239 + ], + "starting_column": 13, + "ending_column": 46 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_redeem", + "source_mapping": { + "start": 9155, + "length": 752, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" + } + } + } + } + ], + "description": "DiscountExercise._redeem(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#234-251) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > params.deadline (src/exercise/DiscountExercise.sol#239)\n", + "markdown": "[DiscountExercise._redeem(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L234-L251) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > params.deadline](src/exercise/DiscountExercise.sol#L239)\n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L234-L251", + "id": "61a1c13c0eec30cef4d45e71eb68b2242a5ed6a3ec92629dbb2b00a5c05b5305", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + }, + { + "type": "node", + "name": "block.timestamp > params.deadline", + "source_mapping": { + "start": 7049, + "length": 33, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 197 + ], + "starting_column": 13, + "ending_column": 46 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_zap", + "source_mapping": { + "start": 6830, + "length": 2292, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_zap(address,uint256,address,DiscountExerciseParams)" + } + } + } + } + ], + "description": "DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > params.deadline (src/exercise/DiscountExercise.sol#197)\n", + "markdown": "[DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > params.deadline](src/exercise/DiscountExercise.sol#L197)\n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", + "id": "668585016ac0bae752c2577765c1c163cfc3144c0656d1fb189859db4c2d78b8", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getChainlinkPriceTargetDigits", + "source_mapping": { + "start": 12574, + "length": 693, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getChainlinkPriceTargetDigits(address)" + } + }, + { + "type": "node", + "name": "require(bool,string)(! _chainlinkIsBroken(chainlinkResponse,prevChainlinkResponse) && ! _chainlinkIsFrozen(chainlinkResponse,_token),ReaperSwapper: Chainlink must be working and current)", + "source_mapping": { + "start": 12925, + "length": 226, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 337, + 338, + 339, + 340, + 341 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getChainlinkPriceTargetDigits", + "source_mapping": { + "start": 12574, + "length": 693, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getChainlinkPriceTargetDigits(address)" + } + } + } + } + ], + "description": "ReaperSwapper.getChainlinkPriceTargetDigits(address) (lib/vault-v2/src/ReaperSwapper.sol#333-343) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(! _chainlinkIsBroken(chainlinkResponse,prevChainlinkResponse) && ! _chainlinkIsFrozen(chainlinkResponse,_token),ReaperSwapper: Chainlink must be working and current) (lib/vault-v2/src/ReaperSwapper.sol#337-341)\n", + "markdown": "[ReaperSwapper.getChainlinkPriceTargetDigits(address)](lib/vault-v2/src/ReaperSwapper.sol#L333-L343) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(! _chainlinkIsBroken(chainlinkResponse,prevChainlinkResponse) && ! _chainlinkIsFrozen(chainlinkResponse,_token),ReaperSwapper: Chainlink must be working and current)](lib/vault-v2/src/ReaperSwapper.sol#L337-L341)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L333-L343", + "id": "8876dcb1ce9974595b01d633cfe62552129b63ca689be1b0815a3c19c88b3095", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_badChainlinkResponse", + "source_mapping": { + "start": 16626, + "length": 564, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_badChainlinkResponse(ReaperSwapper.ChainlinkResponse)" + } + }, + { + "type": "node", + "name": "_response.timestamp == 0 || _response.timestamp > block.timestamp", + "source_mapping": { + "start": 16994, + "length": 65, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 424 + ], + "starting_column": 13, + "ending_column": 78 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_badChainlinkResponse", + "source_mapping": { + "start": 16626, + "length": 564, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_badChainlinkResponse(ReaperSwapper.ChainlinkResponse)" + } + } + } + } + ], + "description": "ReaperSwapper._badChainlinkResponse(ReaperSwapper.ChainlinkResponse) (lib/vault-v2/src/ReaperSwapper.sol#418-429) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- _response.timestamp == 0 || _response.timestamp > block.timestamp (lib/vault-v2/src/ReaperSwapper.sol#424)\n", + "markdown": "[ReaperSwapper._badChainlinkResponse(ReaperSwapper.ChainlinkResponse)](lib/vault-v2/src/ReaperSwapper.sol#L418-L429) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [_response.timestamp == 0 || _response.timestamp > block.timestamp](lib/vault-v2/src/ReaperSwapper.sol#L424)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L418-L429", + "id": "c9769fb3b49a0cb62289925e91879f5e539b1d1b11aa4df992552532f0fc1edb", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_authorizeUpgrade", + "source_mapping": { + "start": 19135, + "length": 283, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 476, + 477, + 478, + 479, + 480, + 481, + 482 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_authorizeUpgrade(address)" + } + }, + { + "type": "node", + "name": "require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing)", + "source_mapping": { + "start": 19241, + "length": 138, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 478, + 479, + 480 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_authorizeUpgrade", + "source_mapping": { + "start": 19135, + "length": 283, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 476, + 477, + 478, + 479, + 480, + 481, + 482 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_authorizeUpgrade(address)" + } + } + } + } + ], + "description": "ReaperSwapper._authorizeUpgrade(address) (lib/vault-v2/src/ReaperSwapper.sol#476-482) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing) (lib/vault-v2/src/ReaperSwapper.sol#478-480)\n", + "markdown": "[ReaperSwapper._authorizeUpgrade(address)](lib/vault-v2/src/ReaperSwapper.sol#L476-L482) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing)](lib/vault-v2/src/ReaperSwapper.sol#L478-L480)\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L476-L482", + "id": "f0962c61819abf294fef0372224298be1e0fde776b4031d7996ce34948836d89", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "unsafeDiv", + "source_mapping": { + "start": 9436, + "length": 285, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "unsafeDiv(uint256,uint256)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 9564, + "length": 151, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 240, + 241, + 242, + 243, + 244 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "unsafeDiv", + "source_mapping": { + "start": 9436, + "length": 285, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "unsafeDiv(uint256,uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.unsafeDiv(uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#238-245) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#240-244)\n", + "markdown": "[FixedPointMathLib.unsafeDiv(uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L238-L245) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L240-L244)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L238-L245", + "id": "0beed87682b0d9d1b5d62d5e0b9a3ea42569e26d73cc841baa517c84883f1df4", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 5000, + "length": 164, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 77, + 78, + 79, + 80, + 81 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 5177, + "length": 148, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 82, + 83, + 84, + 85, + 86 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 5338, + "length": 140, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 87, + 88, + 89, + 90, + 91 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 5491, + "length": 136, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 92, + 93, + 94, + 95, + 96 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 5640, + "length": 134, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 97, + 98, + 99, + 100, + 101 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 5787, + "length": 133, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 102, + 103, + 104, + 105, + 106 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 5933, + "length": 133, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 107, + 108, + 109, + 110, + 111 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 6079, + "length": 94, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 112, + 113, + 114, + 115 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 6340, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 122, + 123, + 124, + 125, + 126, + 127 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 6533, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 6726, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 134, + 135, + 136, + 137, + 138, + 139 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 6919, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 140, + 141, + 142, + 143, + 144, + 145 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 7112, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 146, + 147, + 148, + 149, + 150, + 151 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 7305, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 152, + 153, + 154, + 155, + 156, + 157 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 7498, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 158, + 159, + 160, + 161, + 162, + 163 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 7691, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 164, + 165, + 166, + 167, + 168, + 169 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 7884, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 170, + 171, + 172, + 173, + 174, + 175 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 8077, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 176, + 177, + 178, + 179, + 180, + 181 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 8270, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 182, + 183, + 184, + 185, + 186, + 187 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 8463, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 188, + 189, + 190, + 191, + 192, + 193 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 8656, + "length": 180, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 194, + 195, + 196, + 197, + 198, + 199 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 8849, + "length": 149, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 200, + 201, + 202, + 203, + 204 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getTickAtSqrtRatio", + "source_mapping": { + "start": 4563, + "length": 4852, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getTickAtSqrtRatio(uint160)" + } + } + } + } + ], + "description": "TickMath.getTickAtSqrtRatio(uint160) (lib/v3-core/contracts/libraries/TickMath.sol#68-213) uses assembly\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#77-81)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#82-86)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#87-91)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#92-96)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#97-101)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#102-106)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#107-111)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#112-115)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#122-127)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#128-133)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#134-139)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#140-145)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#146-151)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#152-157)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#158-163)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#164-169)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#170-175)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#176-181)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#182-187)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#188-193)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#194-199)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#200-204)\n", + "markdown": "[TickMath.getTickAtSqrtRatio(uint160)](lib/v3-core/contracts/libraries/TickMath.sol#L68-L213) uses assembly\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L77-L81)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L82-L86)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L87-L91)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L92-L96)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L97-L101)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L102-L106)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L107-L111)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L112-L115)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L122-L127)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L128-L133)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L134-L139)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L140-L145)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L146-L151)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L152-L157)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L158-L163)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L164-L169)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L170-L175)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L176-L181)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L182-L187)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L188-L193)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L194-L199)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L200-L204)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L68-L213", + "id": "0def4f45d43eaf0b329bef30ef6af6d4f46fe19e1463c7b9ac4d362934eafeb6", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "unsafeMod", + "source_mapping": { + "start": 9148, + "length": 282, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "unsafeMod(uint256,uint256)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 9276, + "length": 148, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 231, + 232, + 233, + 234, + 235 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "unsafeMod", + "source_mapping": { + "start": 9148, + "length": 282, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "unsafeMod(uint256,uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.unsafeMod(uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#229-236) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#231-235)\n", + "markdown": "[FixedPointMathLib.unsafeMod(uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L229-L236) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L231-L235)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L229-L236", + "id": "145fa339a2d24346a0d2f9a987ba904fefdb44045676d336d8c1454492437dd3", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_revert", + "source_mapping": { + "start": 8616, + "length": 540, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_revert(bytes,string)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 8947, + "length": 142, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 236, + 237, + 238, + 239 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_revert", + "source_mapping": { + "start": 8616, + "length": 540, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_revert(bytes,string)" + } + } + } + } + ], + "description": "Address._revert(bytes,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#231-243) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Address.sol#236-239)\n", + "markdown": "[Address._revert(bytes,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L231-L243) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts/contracts/utils/Address.sol#L236-L239)\n", + "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L231-L243", + "id": "202587d026bc154cc0001a634101f20caa34ef114975710d739f5c8c36d92e7c", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "unsafeDivUp", + "source_mapping": { + "start": 9727, + "length": 324, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "unsafeDivUp(uint256,uint256)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 9857, + "length": 188, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 249, + 250, + 251, + 252, + 253 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "unsafeDivUp", + "source_mapping": { + "start": 9727, + "length": 324, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "unsafeDivUp(uint256,uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.unsafeDivUp(uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#247-254) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#249-253)\n", + "markdown": "[FixedPointMathLib.unsafeDivUp(uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L247-L254) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L249-L253)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L247-L254", + "id": "293ee1efbea006e81513a50b1f3897ca47465d642f7873e0618752a9e931afdc", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 5746, + "length": 3396, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 5858, + "length": 3278, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 5746, + "length": 3396, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.sqrt(uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#164-227) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#166-226)\n", + "markdown": "[FixedPointMathLib.sqrt(uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L166-L226)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227", + "id": "37818b71310ead61c2763f3a5f49d95d276ee9cb81a18a9e165d14c424a65602", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDivUp", + "source_mapping": { + "start": 2096, + "length": 672, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDivUp(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 2274, + "length": 488, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDivUp", + "source_mapping": { + "start": 2096, + "length": 672, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDivUp(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.mulDivUp(uint256,uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#53-69) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#59-68)\n", + "markdown": "[FixedPointMathLib.mulDivUp(uint256,uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L53-L69) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L59-L68)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L53-L69", + "id": "39a7fec07e0fbe8e5782dbb16c4b965b00f8fb1054cd2855b1fe4b9234ea9403", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "values", + "source_mapping": { + "start": 10262, + "length": 300, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "EnumerableSetUpgradeable", + "source_mapping": { + "start": 1321, + "length": 11641, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "values(EnumerableSetUpgradeable.AddressSet)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 10484, + "length": 48, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 298, + 299, + 300 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "values", + "source_mapping": { + "start": 10262, + "length": 300, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "EnumerableSetUpgradeable", + "source_mapping": { + "start": 1321, + "length": 11641, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "values(EnumerableSetUpgradeable.AddressSet)" + } + } + } + } + ], + "description": "EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.AddressSet) (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#293-303) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#298-300)\n", + "markdown": "[EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.AddressSet)](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L293-L303) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L298-L300)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L293-L303", + "id": "3b8aa13e9f50c73367d43257168b9f1a7a14154c5ff8bd884390007f08e0ae86", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "values", + "source_mapping": { + "start": 7768, + "length": 300, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "EnumerableSetUpgradeable", + "source_mapping": { + "start": 1321, + "length": 11641, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "values(EnumerableSetUpgradeable.Bytes32Set)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 7990, + "length": 48, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 224, + 225, + 226 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "values", + "source_mapping": { + "start": 7768, + "length": 300, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "EnumerableSetUpgradeable", + "source_mapping": { + "start": 1321, + "length": 11641, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "values(EnumerableSetUpgradeable.Bytes32Set)" + } + } + } + } + ], + "description": "EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.Bytes32Set) (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#219-229) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#224-226)\n", + "markdown": "[EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.Bytes32Set)](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L219-L229) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L224-L226)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L219-L229", + "id": "56194aad9e39935cc05324a8414a026d136558b2fa7f7ab0735fd12cc739a479", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_sendLogPayload", + "source_mapping": { + "start": 181, + "length": 376, + "filename_relative": "lib/forge-std/src/console.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", + "filename_short": "lib/forge-std/src/console.sol", + "is_dependency": true, + "lines": [ + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "console", + "source_mapping": { + "start": 66, + "length": 66622, + "filename_relative": "lib/forge-std/src/console.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", + "filename_short": "lib/forge-std/src/console.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_sendLogPayload(bytes)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 392, + "length": 159, + "filename_relative": "lib/forge-std/src/console.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", + "filename_short": "lib/forge-std/src/console.sol", + "is_dependency": true, + "lines": [ + 11, + 12, + 13, + 14 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_sendLogPayload", + "source_mapping": { + "start": 181, + "length": 376, + "filename_relative": "lib/forge-std/src/console.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", + "filename_short": "lib/forge-std/src/console.sol", + "is_dependency": true, + "lines": [ + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "console", + "source_mapping": { + "start": 66, + "length": 66622, + "filename_relative": "lib/forge-std/src/console.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", + "filename_short": "lib/forge-std/src/console.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_sendLogPayload(bytes)" + } + } + } + } + ], + "description": "console._sendLogPayload(bytes) (lib/forge-std/src/console.sol#7-15) uses assembly\n\t- INLINE ASM (lib/forge-std/src/console.sol#11-14)\n", + "markdown": "[console._sendLogPayload(bytes)](lib/forge-std/src/console.sol#L7-L15) uses assembly\n\t- [INLINE ASM](lib/forge-std/src/console.sol#L11-L14)\n", + "first_markdown_element": "lib/forge-std/src/console.sol#L7-L15", + "id": "5758c17df66f8816f5064e14ea7f15d5ee32aa62981846c608f5a746b6c72583", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "getUint256Slot", + "source_mapping": { + "start": 2489, + "length": 190, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 82, + 83, + 84, + 85, + 86, + 87 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StorageSlotUpgradeable", + "source_mapping": { + "start": 1279, + "length": 1402, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getUint256Slot(bytes32)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 2626, + "length": 47, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 84, + 85, + 86 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getUint256Slot", + "source_mapping": { + "start": 2489, + "length": 190, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 82, + 83, + 84, + 85, + 86, + 87 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StorageSlotUpgradeable", + "source_mapping": { + "start": 1279, + "length": 1402, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getUint256Slot(bytes32)" + } + } + } + } + ], + "description": "StorageSlotUpgradeable.getUint256Slot(bytes32) (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#82-87) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#84-86)\n", + "markdown": "[StorageSlotUpgradeable.getUint256Slot(bytes32)](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L82-L87) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L84-L86)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L82-L87", + "id": "5da981982addb53aa1a484aa5b90b5edf14fff276b7d6100c546d2ff73004118", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "rpow", + "source_mapping": { + "start": 2774, + "length": 2778, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "rpow(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 2943, + "length": 2603, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "rpow", + "source_mapping": { + "start": 2774, + "length": 2778, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "rpow(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.rpow(uint256,uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#71-158) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#77-157)\n", + "markdown": "[FixedPointMathLib.rpow(uint256,uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L71-L158) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L77-L157)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L71-L158", + "id": "689002e3bc5887c37efbbca861ab9ec47f766293178f650ae3d6f514b002c94c", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_revert", + "source_mapping": { + "start": 7739, + "length": 540, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_revert(bytes,string)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 8070, + "length": 142, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 211, + 212, + 213, + 214 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_revert", + "source_mapping": { + "start": 7739, + "length": 540, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_revert(bytes,string)" + } + } + } + } + ], + "description": "AddressUpgradeable._revert(bytes,string) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#206-218) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#211-214)\n", + "markdown": "[AddressUpgradeable._revert(bytes,string)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L206-L218) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L211-L214)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L206-L218", + "id": "739c2c53d803e97b4475b0c59002e269bf280c020785e91d89e6f198833bfda0", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "values", + "source_mapping": { + "start": 12663, + "length": 297, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "EnumerableSetUpgradeable", + "source_mapping": { + "start": 1321, + "length": 11641, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "values(EnumerableSetUpgradeable.UintSet)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 12882, + "length": 48, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 372, + 373, + 374 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "values", + "source_mapping": { + "start": 12663, + "length": 297, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "EnumerableSetUpgradeable", + "source_mapping": { + "start": 1321, + "length": 11641, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "values(EnumerableSetUpgradeable.UintSet)" + } + } + } + } + ], + "description": "EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.UintSet) (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#367-377) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#372-374)\n", + "markdown": "[EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.UintSet)](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L367-L377) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L372-L374)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L367-L377", + "id": "7d56bbef68d3d28816c6f1db6f457a021f9e797b84e7c3d7dbcc61c9462f0d2f", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDivDown", + "source_mapping": { + "start": 1564, + "length": 526, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDivDown(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 1744, + "length": 340, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDivDown", + "source_mapping": { + "start": 1564, + "length": 526, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDivDown(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.mulDivDown(uint256,uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#36-51) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#42-50)\n", + "markdown": "[FixedPointMathLib.mulDivDown(uint256,uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L36-L51) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L42-L50)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L36-L51", + "id": "9e144d907a30f66c9e2920440884a22c1725fb31d5d562c7fb53efa1509ea1b0", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "toString", + "source_mapping": { + "start": 437, + "length": 707, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "is_dependency": true, + "lines": [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StringsUpgradeable", + "source_mapping": { + "start": 199, + "length": 2098, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "toString(uint256)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 732, + "length": 76, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "is_dependency": true, + "lines": [ + 24, + 25, + 26 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "toString", + "source_mapping": { + "start": 437, + "length": 707, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "is_dependency": true, + "lines": [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StringsUpgradeable", + "source_mapping": { + "start": 199, + "length": 2098, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "toString(uint256)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 926, + "length": 93, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "is_dependency": true, + "lines": [ + 30, + 31, + 32 + ], + "starting_column": 17, + "ending_column": 18 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "toString", + "source_mapping": { + "start": 437, + "length": 707, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "is_dependency": true, + "lines": [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StringsUpgradeable", + "source_mapping": { + "start": 199, + "length": 2098, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "toString(uint256)" + } + } + } + } + ], + "description": "StringsUpgradeable.toString(uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#18-38) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#24-26)\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#30-32)\n", + "markdown": "[StringsUpgradeable.toString(uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L18-L38) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L24-L26)\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L30-L32)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L18-L38", + "id": "a992fcb04beb4b522d466219687aab5caf1862079a86d0a72ff29083031b1b83", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "getBooleanSlot", + "source_mapping": { + "start": 1913, + "length": 190, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 62, + 63, + 64, + 65, + 66, + 67 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StorageSlotUpgradeable", + "source_mapping": { + "start": 1279, + "length": 1402, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getBooleanSlot(bytes32)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 2050, + "length": 47, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 64, + 65, + 66 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getBooleanSlot", + "source_mapping": { + "start": 1913, + "length": 190, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 62, + 63, + 64, + 65, + 66, + 67 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StorageSlotUpgradeable", + "source_mapping": { + "start": 1279, + "length": 1402, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getBooleanSlot(bytes32)" + } + } + } + } + ], + "description": "StorageSlotUpgradeable.getBooleanSlot(bytes32) (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#62-67) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#64-66)\n", + "markdown": "[StorageSlotUpgradeable.getBooleanSlot(bytes32)](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L62-L67) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L64-L66)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L62-L67", + "id": "abed8f4ef4fa2e3da0dfadfbc2db35dab5f0cddac1132ccf3de6ff9dfd330e08", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 1369, + "length": 166, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 27, + 28, + 29, + 30, + 31 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 1687, + "length": 82, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 36, + 37, + 38 + ], + "starting_column": 17, + "ending_column": 18 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 2291, + "length": 79, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 53, + 54, + 55 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 2442, + "length": 129, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 57, + 58, + 59, + 60 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 2846, + "length": 78, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 67, + 68, + 69 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 2996, + "length": 66, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 72, + 73, + 74 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 3257, + "length": 80, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 78, + 79, + 80 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 741, + "length": 4127, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FullMath", + "source_mapping": { + "start": 354, + "length": 5163, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) uses assembly\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#27-31)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#36-38)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#53-55)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#57-60)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#67-69)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#72-74)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#78-80)\n", + "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) uses assembly\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L27-L31)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L36-L38)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L53-L55)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L57-L60)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L67-L69)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L72-L74)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L78-L80)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", + "id": "cd4781abcd1d41fa749dcf4cc7a4749057c50a313df29ef331b4bb2d83971a0c", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 2280, + "length": 166, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 66, + 67, + 68, + 69, + 70 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 3015, + "length": 300, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 3683, + "length": 371, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "mulDiv", + "source_mapping": { + "start": 1678, + "length": 3925, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "MathUpgradeable", + "source_mapping": { + "start": 202, + "length": 12313, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "mulDiv(uint256,uint256,uint256)" + } + } + } + } + ], + "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#66-70)\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#86-93)\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#100-109)\n", + "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L66-L70)\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L86-L93)\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L100-L109)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", + "id": "eb7fc1d015df84fd39e386d4f4360b409e4375b3501e52d9825a5f98ce00bbbe", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "getBytes32Slot", + "source_mapping": { + "start": 2201, + "length": 190, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 72, + 73, + 74, + 75, + 76, + 77 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StorageSlotUpgradeable", + "source_mapping": { + "start": 1279, + "length": 1402, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getBytes32Slot(bytes32)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 2338, + "length": 47, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 74, + 75, + 76 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getBytes32Slot", + "source_mapping": { + "start": 2201, + "length": 190, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 72, + 73, + 74, + 75, + 76, + 77 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StorageSlotUpgradeable", + "source_mapping": { + "start": 1279, + "length": 1402, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getBytes32Slot(bytes32)" + } + } + } + } + ], + "description": "StorageSlotUpgradeable.getBytes32Slot(bytes32) (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#72-77) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#74-76)\n", + "markdown": "[StorageSlotUpgradeable.getBytes32Slot(bytes32)](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L72-L77) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L74-L76)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L72-L77", + "id": "f1477136301f065a939603e66af2ce9966e69e30be386b8261bade5d7a7d25f1", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "getAddressSlot", + "source_mapping": { + "start": 1625, + "length": 190, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 52, + 53, + 54, + 55, + 56, + 57 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StorageSlotUpgradeable", + "source_mapping": { + "start": 1279, + "length": 1402, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getAddressSlot(bytes32)" + } + }, + { + "type": "node", + "name": "", + "source_mapping": { + "start": 1762, + "length": 47, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 54, + 55, + 56 + ], + "starting_column": 9, + "ending_column": 10 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getAddressSlot", + "source_mapping": { + "start": 1625, + "length": 190, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 52, + 53, + 54, + 55, + 56, + 57 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StorageSlotUpgradeable", + "source_mapping": { + "start": 1279, + "length": 1402, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getAddressSlot(bytes32)" + } + } + } + } + ], + "description": "StorageSlotUpgradeable.getAddressSlot(bytes32) (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#52-57) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#54-56)\n", + "markdown": "[StorageSlotUpgradeable.getAddressSlot(bytes32)](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L52-L57) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L54-L56)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L52-L57", + "id": "fcaccdf637e880c618f6f15622fb469dee912b1a036bb71ad6b383881b62ae17", + "check": "assembly", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + }, + { + "type": "node", + "name": "_tryCatchActive != false", + "source_mapping": { + "start": 1850, + "length": 24, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 51 + ], + "starting_column": 12, + "ending_column": 36 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapVelo", + "source_mapping": { + "start": 862, + "length": 1768, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "VeloSolidMixin", + "source_mapping": { + "start": 313, + "length": 4635, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" + } + } + } + } + ], + "description": "VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#24-71) compares to a boolean constant:\n\t-_tryCatchActive != false (lib/vault-v2/src/mixins/VeloSolidMixin.sol#51)\n", + "markdown": "[VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L24-L71) compares to a boolean constant:\n\t-[_tryCatchActive != false](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L51)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/VeloSolidMixin.sol#L24-L71", + "id": "3468c3b56c70dc328b6ce16a2e884a49779787f33d95ed13986ee13303b673fb", + "check": "boolean-equal", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + }, + { + "type": "node", + "name": "_tryCatchActive != false", + "source_mapping": { + "start": 1622, + "length": 24, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 45 + ], + "starting_column": 13, + "ending_column": 37 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapUniV2", + "source_mapping": { + "start": 748, + "length": 1626, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV2Mixin", + "source_mapping": { + "start": 234, + "length": 4634, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" + } + } + } + } + ], + "description": "UniV2Mixin._swapUniV2(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/UniV2Mixin.sol#20-60) compares to a boolean constant:\n\t-_tryCatchActive != false (lib/vault-v2/src/mixins/UniV2Mixin.sol#45)\n", + "markdown": "[UniV2Mixin._swapUniV2(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L20-L60) compares to a boolean constant:\n\t-[_tryCatchActive != false](lib/vault-v2/src/mixins/UniV2Mixin.sol#L45)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/UniV2Mixin.sol#L20-L60", + "id": "4d722cef03d795c4c7527723911fc2803c15560ae0f19f483e776f19951c36e6", + "check": "boolean-equal", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + }, + { + "type": "node", + "name": "_tryCatchActive != false", + "source_mapping": { + "start": 2254, + "length": 24, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 63 + ], + "starting_column": 13, + "ending_column": 37 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_swapBal", + "source_mapping": { + "start": 895, + "length": 1974, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BalMixin", + "source_mapping": { + "start": 307, + "length": 3662, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" + } + } + } + } + ], + "description": "BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/BalMixin.sol#25-76) compares to a boolean constant:\n\t-_tryCatchActive != false (lib/vault-v2/src/mixins/BalMixin.sol#63)\n", + "markdown": "[BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/BalMixin.sol#L25-L76) compares to a boolean constant:\n\t-[_tryCatchActive != false](lib/vault-v2/src/mixins/BalMixin.sol#L63)\n", + "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L25-L76", + "id": "7bfc25a8f3bd571f220c04ccf03c188600dbeeb995e1e600bb2cb95af4059ff2", + "check": "boolean-equal", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": ">=0.4.22<0.9.0", + "source_mapping": { + "start": 32, + "length": 32, + "filename_relative": "lib/forge-std/src/console.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", + "filename_short": "lib/forge-std/src/console.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 33 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.4", + ".22", + "<", + "0.9", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 118, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 108, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 104, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 94, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 102, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 107, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 113, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 93, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 115, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 105, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 106, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 110, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 114, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 115, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 86, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 105, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 101, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 99, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 100, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 103, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 205, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 5 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 105, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/security/Pausable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/security/Pausable.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/security/Pausable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 106, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 114, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 115, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 86, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Context.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Context.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Context.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 32, + "length": 23, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 45, + "length": 23, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 169, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", + "filename_short": "lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IAsset.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IAsset.sol", + "filename_short": "lib/vault-v2/src/interfaces/IAsset.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IAuthorizer.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IAuthorizer.sol", + "filename_short": "lib/vault-v2/src/interfaces/IAuthorizer.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IBasePool.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBasePool.sol", + "filename_short": "lib/vault-v2/src/interfaces/IBasePool.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", + "filename_short": "lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IBeetVault.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBeetVault.sol", + "filename_short": "lib/vault-v2/src/interfaces/IBeetVault.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", + "filename_short": "lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/ISignaturesValidator.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISignaturesValidator.sol", + "filename_short": "lib/vault-v2/src/interfaces/ISignaturesValidator.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/ISwapErrors.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapErrors.sol", + "filename_short": "lib/vault-v2/src/interfaces/ISwapErrors.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/ISwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapper.sol", + "filename_short": "lib/vault-v2/src/interfaces/ISwapper.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/ISwapperSwaps.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapperSwaps.sol", + "filename_short": "lib/vault-v2/src/interfaces/ISwapperSwaps.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", + "filename_short": "lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 36, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IVeloPair.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloPair.sol", + "filename_short": "lib/vault-v2/src/interfaces/IVeloPair.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IVeloRouter.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloRouter.sol", + "filename_short": "lib/vault-v2/src/interfaces/IVeloRouter.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 32, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", + "filename_short": "lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "filename_short": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 82, + "length": 23, + "filename_relative": "lib/vault-v2/src/mixins/ReaperAccessControl.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/ReaperAccessControl.sol", + "filename_short": "lib/vault-v2/src/mixins/ReaperAccessControl.sol", + "is_dependency": true, + "lines": [ + 5 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 679, + "length": 23, + "filename_relative": "src/interfaces/IBalancerTwapOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancerTwapOracle.sol", + "filename_short": "src/interfaces/IBalancerTwapOracle.sol", + "is_dependency": false, + "lines": [ + 15 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "src/interfaces/ISwapperSwaps.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/ISwapperSwaps.sol", + "filename_short": "src/interfaces/ISwapperSwaps.sol", + "is_dependency": false, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.2", + "source_mapping": { + "start": 116, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".2" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.2", + "source_mapping": { + "start": 113, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".2" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.1", + "source_mapping": { + "start": 101, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".1" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.1", + "source_mapping": { + "start": 101, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".1" + ] + } + }, + { + "type": "pragma", + "name": ">=0.8.0", + "source_mapping": { + "start": 42, + "length": 24, + "filename_relative": "lib/solmate/src/auth/Owned.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", + "filename_short": "lib/solmate/src/auth/Owned.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.8.0", + "source_mapping": { + "start": 42, + "length": 24, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.8.0", + "source_mapping": { + "start": 42, + "length": 24, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", + "filename_short": "lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", + "filename_short": "lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", + "filename_short": "lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", + "filename_short": "lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.7.5", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/vault-v2/src/interfaces/ISwapRouter.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapRouter.sol", + "filename_short": "lib/vault-v2/src/interfaces/ISwapRouter.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.7", + ".5" + ] + } + }, + { + "type": "pragma", + "name": ">=0.6.2", + "source_mapping": { + "start": 36, + "length": 24, + "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", + "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.6", + ".2" + ] + } + }, + { + "type": "pragma", + "name": ">=0.6.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.6", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/interfaces/IBalancer2TokensPool.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancer2TokensPool.sol", + "filename_short": "src/interfaces/IBalancer2TokensPool.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/interfaces/IExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IExercise.sol", + "filename_short": "src/interfaces/IExercise.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/interfaces/IOptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IOptionsToken.sol", + "filename_short": "src/interfaces/IOptionsToken.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/oracles/ThenaOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/ThenaOracle.sol", + "filename_short": "src/oracles/ThenaOracle.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/oracles/UniswapV3Oracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", + "filename_short": "src/oracles/UniswapV3Oracle.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": ">=0.7.0<0.9.0", + "source_mapping": { + "start": 723, + "length": 31, + "filename_relative": "src/interfaces/IBalancerVault.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancerVault.sol", + "filename_short": "src/interfaces/IBalancerVault.sol", + "is_dependency": false, + "lines": [ + 17 + ], + "starting_column": 1, + "ending_column": 32 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.7", + ".0", + "<", + "0.9", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.7.0<0.9.0", + "source_mapping": { + "start": 38, + "length": 31, + "filename_relative": "src/interfaces/IERC20Mintable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IERC20Mintable.sol", + "filename_short": "src/interfaces/IERC20Mintable.sol", + "is_dependency": false, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 32 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.7", + ".0", + "<", + "0.9", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.7.0<0.9.0", + "source_mapping": { + "start": 38, + "length": 31, + "filename_relative": "src/interfaces/IOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IOracle.sol", + "filename_short": "src/interfaces/IOracle.sol", + "is_dependency": false, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 32 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.7", + ".0", + "<", + "0.9", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5", + "source_mapping": { + "start": 0, + "length": 22, + "filename_relative": "src/interfaces/IThenaPair.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IThenaPair.sol", + "filename_short": "src/interfaces/IThenaPair.sol", + "is_dependency": false, + "lines": [ + 1 + ], + "starting_column": 1, + "ending_column": 23 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5" + ] + } + } + ], + "description": "12 different versions of Solidity are used:\n\t- Version constraint >=0.4.22<0.9.0 is used by:\n\t\t->=0.4.22<0.9.0 (lib/forge-std/src/console.sol#2)\n\t- Version constraint ^0.8.0 is used by:\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#5)\n\t\t-^0.8.0 (lib/openzeppelin-contracts/contracts/security/Pausable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts/contracts/utils/Context.sol#4)\n\t\t-^0.8.0 (lib/v3-core/contracts/libraries/FullMath.sol#2)\n\t\t-^0.8.0 (lib/v3-core/contracts/libraries/TickMath.sol#2)\n\t\t-^0.8.0 (lib/vault-v2/src/ReaperSwapper.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/AggregatorV3Interface.sol#4)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IAsset.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IAuthorizer.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IBasePool.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IBaseWeightedPool.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IBeetVault.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IPoolSwapStructs.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/ISignaturesValidator.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/ISwapErrors.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/ISwapper.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/ISwapperSwaps.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/ITemporarilyPausable.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#2)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IVeloPair.sol#2)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IVeloRouter.sol#2)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol#2)\n\t\t-^0.8.0 (lib/vault-v2/src/libraries/Babylonian.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/libraries/ReaperMathUtils.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/mixins/BalMixin.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/mixins/ReaperAccessControl.sol#5)\n\t\t-^0.8.0 (lib/vault-v2/src/mixins/UniV2Mixin.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/mixins/UniV3Mixin.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/mixins/VeloSolidMixin.sol#3)\n\t\t-^0.8.0 (src/helpers/SwapHelper.sol#3)\n\t\t-^0.8.0 (src/interfaces/IBalancerTwapOracle.sol#15)\n\t\t-^0.8.0 (src/interfaces/ISwapperSwaps.sol#3)\n\t- Version constraint ^0.8.2 is used by:\n\t\t-^0.8.2 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#4)\n\t\t-^0.8.2 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#4)\n\t- Version constraint ^0.8.1 is used by:\n\t\t-^0.8.1 (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#4)\n\t\t-^0.8.1 (lib/openzeppelin-contracts/contracts/utils/Address.sol#4)\n\t- Version constraint >=0.8.0 is used by:\n\t\t->=0.8.0 (lib/solmate/src/auth/Owned.sol#2)\n\t\t->=0.8.0 (lib/solmate/src/tokens/ERC20.sol#2)\n\t\t->=0.8.0 (lib/solmate/src/utils/FixedPointMathLib.sol#2)\n\t- Version constraint >=0.5.0 is used by:\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#2)\n\t\t->=0.5.0 (lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol#2)\n\t\t->=0.5.0 (lib/vault-v2/src/interfaces/IUniswapV3Factory.sol#2)\n\t\t->=0.5.0 (lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol#2)\n\t- Version constraint >=0.7.5 is used by:\n\t\t->=0.7.5 (lib/vault-v2/src/interfaces/ISwapRouter.sol#2)\n\t- Version constraint >=0.6.2 is used by:\n\t\t->=0.6.2 (lib/vault-v2/src/interfaces/IUniswapV2Router02.sol#2)\n\t- Version constraint >=0.6.0 is used by:\n\t\t->=0.6.0 (lib/vault-v2/src/libraries/TransferHelper.sol#2)\n\t- Version constraint ^0.8.13 is used by:\n\t\t-^0.8.13 (src/OptionsToken.sol#2)\n\t\t-^0.8.13 (src/exercise/BaseExercise.sol#2)\n\t\t-^0.8.13 (src/exercise/DiscountExercise.sol#2)\n\t\t-^0.8.13 (src/interfaces/IBalancer2TokensPool.sol#2)\n\t\t-^0.8.13 (src/interfaces/IExercise.sol#2)\n\t\t-^0.8.13 (src/interfaces/IOptionsToken.sol#2)\n\t\t-^0.8.13 (src/oracles/BalancerOracle.sol#2)\n\t\t-^0.8.13 (src/oracles/ThenaOracle.sol#2)\n\t\t-^0.8.13 (src/oracles/UniswapV3Oracle.sol#2)\n\t- Version constraint >=0.7.0<0.9.0 is used by:\n\t\t->=0.7.0<0.9.0 (src/interfaces/IBalancerVault.sol#17)\n\t\t->=0.7.0<0.9.0 (src/interfaces/IERC20Mintable.sol#3)\n\t\t->=0.7.0<0.9.0 (src/interfaces/IOracle.sol#3)\n\t- Version constraint >=0.5 is used by:\n\t\t->=0.5 (src/interfaces/IThenaPair.sol#1)\n", + "markdown": "12 different versions of Solidity are used:\n\t- Version constraint >=0.4.22<0.9.0 is used by:\n\t\t-[>=0.4.22<0.9.0](lib/forge-std/src/console.sol#L2)\n\t- Version constraint ^0.8.0 is used by:\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L5)\n\t\t-[^0.8.0](lib/openzeppelin-contracts/contracts/security/Pausable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts/contracts/utils/Context.sol#L4)\n\t\t-[^0.8.0](lib/v3-core/contracts/libraries/FullMath.sol#L2)\n\t\t-[^0.8.0](lib/v3-core/contracts/libraries/TickMath.sol#L2)\n\t\t-[^0.8.0](lib/vault-v2/src/ReaperSwapper.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/AggregatorV3Interface.sol#L4)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IAsset.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IAuthorizer.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IBasePool.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IBaseWeightedPool.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IBeetVault.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IPoolSwapStructs.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/ISignaturesValidator.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/ISwapErrors.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/ISwapper.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/ISwapperSwaps.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/ITemporarilyPausable.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#L2)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IVeloPair.sol#L2)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IVeloRouter.sol#L2)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol#L2)\n\t\t-[^0.8.0](lib/vault-v2/src/libraries/Babylonian.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/libraries/ReaperMathUtils.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/mixins/BalMixin.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/mixins/ReaperAccessControl.sol#L5)\n\t\t-[^0.8.0](lib/vault-v2/src/mixins/UniV2Mixin.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/mixins/UniV3Mixin.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L3)\n\t\t-[^0.8.0](src/helpers/SwapHelper.sol#L3)\n\t\t-[^0.8.0](src/interfaces/IBalancerTwapOracle.sol#L15)\n\t\t-[^0.8.0](src/interfaces/ISwapperSwaps.sol#L3)\n\t- Version constraint ^0.8.2 is used by:\n\t\t-[^0.8.2](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L4)\n\t\t-[^0.8.2](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#L4)\n\t- Version constraint ^0.8.1 is used by:\n\t\t-[^0.8.1](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L4)\n\t\t-[^0.8.1](lib/openzeppelin-contracts/contracts/utils/Address.sol#L4)\n\t- Version constraint >=0.8.0 is used by:\n\t\t-[>=0.8.0](lib/solmate/src/auth/Owned.sol#L2)\n\t\t-[>=0.8.0](lib/solmate/src/tokens/ERC20.sol#L2)\n\t\t-[>=0.8.0](lib/solmate/src/utils/FixedPointMathLib.sol#L2)\n\t- Version constraint >=0.5.0 is used by:\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#L2)\n\t\t-[>=0.5.0](lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol#L2)\n\t\t-[>=0.5.0](lib/vault-v2/src/interfaces/IUniswapV3Factory.sol#L2)\n\t\t-[>=0.5.0](lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol#L2)\n\t- Version constraint >=0.7.5 is used by:\n\t\t-[>=0.7.5](lib/vault-v2/src/interfaces/ISwapRouter.sol#L2)\n\t- Version constraint >=0.6.2 is used by:\n\t\t-[>=0.6.2](lib/vault-v2/src/interfaces/IUniswapV2Router02.sol#L2)\n\t- Version constraint >=0.6.0 is used by:\n\t\t-[>=0.6.0](lib/vault-v2/src/libraries/TransferHelper.sol#L2)\n\t- Version constraint ^0.8.13 is used by:\n\t\t-[^0.8.13](src/OptionsToken.sol#L2)\n\t\t-[^0.8.13](src/exercise/BaseExercise.sol#L2)\n\t\t-[^0.8.13](src/exercise/DiscountExercise.sol#L2)\n\t\t-[^0.8.13](src/interfaces/IBalancer2TokensPool.sol#L2)\n\t\t-[^0.8.13](src/interfaces/IExercise.sol#L2)\n\t\t-[^0.8.13](src/interfaces/IOptionsToken.sol#L2)\n\t\t-[^0.8.13](src/oracles/BalancerOracle.sol#L2)\n\t\t-[^0.8.13](src/oracles/ThenaOracle.sol#L2)\n\t\t-[^0.8.13](src/oracles/UniswapV3Oracle.sol#L2)\n\t- Version constraint >=0.7.0<0.9.0 is used by:\n\t\t-[>=0.7.0<0.9.0](src/interfaces/IBalancerVault.sol#L17)\n\t\t-[>=0.7.0<0.9.0](src/interfaces/IERC20Mintable.sol#L3)\n\t\t-[>=0.7.0<0.9.0](src/interfaces/IOracle.sol#L3)\n\t- Version constraint >=0.5 is used by:\n\t\t-[>=0.5](src/interfaces/IThenaPair.sol#L1)\n", + "first_markdown_element": "lib/forge-std/src/console.sol#L2", + "id": "85edfa625830fd6d39749390d8a28c826b7e0471c23044a55a1d99f92b7f5482", + "check": "pragma", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) has a high cyclomatic complexity (25).\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) has a high cyclomatic complexity (25).\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "7dc850151568c0ccbadfaf18e5baa7aba58df9a7be7ede854c7801abedfda59a", + "check": "cyclomatic-complexity", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": "^0.8.2", + "source_mapping": { + "start": 116, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".2" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.2", + "source_mapping": { + "start": 113, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".2" + ] + } + } + ], + "description": "Version constraint ^0.8.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- ^0.8.2 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#4)\n\t- ^0.8.2 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#4)\n", + "markdown": "Version constraint ^0.8.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- [^0.8.2](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L4)\n\t- [^0.8.2](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#L4)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L4", + "id": "23c567b20d0424f0b9fdc3bc9515dded7c47d0f2c92a6223ce773baf018abb20", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": ">=0.6.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.6", + ".0" + ] + } + } + ], + "description": "Version constraint >=0.6.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- MissingEscapingInFormatting\n\t- ArraySliceDynamicallyEncodedBaseType\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow\n\t- YulOptimizerRedundantAssignmentBreakContinue.\nIt is used by:\n\t- >=0.6.0 (lib/vault-v2/src/libraries/TransferHelper.sol#2)\n", + "markdown": "Version constraint >=0.6.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- MissingEscapingInFormatting\n\t- ArraySliceDynamicallyEncodedBaseType\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow\n\t- YulOptimizerRedundantAssignmentBreakContinue.\nIt is used by:\n\t- [>=0.6.0](lib/vault-v2/src/libraries/TransferHelper.sol#L2)\n", + "first_markdown_element": "lib/vault-v2/src/libraries/TransferHelper.sol#L2", + "id": "2ad22408bbd50c54342714ef4d73fdcb7de70fc26f2f719e2d94e74975873eb7", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": ">=0.5", + "source_mapping": { + "start": 0, + "length": 22, + "filename_relative": "src/interfaces/IThenaPair.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IThenaPair.sol", + "filename_short": "src/interfaces/IThenaPair.sol", + "is_dependency": false, + "lines": [ + 1 + ], + "starting_column": 1, + "ending_column": 23 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5" + ] + } + } + ], + "description": "Version constraint >=0.5 is too complex.\nIt is used by:\n\t- >=0.5 (src/interfaces/IThenaPair.sol#1)\n", + "markdown": "Version constraint >=0.5 is too complex.\nIt is used by:\n\t- [>=0.5](src/interfaces/IThenaPair.sol#L1)\n", + "first_markdown_element": "src/interfaces/IThenaPair.sol#L1", + "id": "2ad70665f7cd347f547e5a92ff885c19999dbf2fae965bf1a9e88ae34d4842da", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": "^0.8.1", + "source_mapping": { + "start": 101, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".1" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.1", + "source_mapping": { + "start": 101, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".1" + ] + } + } + ], + "description": "Version constraint ^0.8.1 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- ^0.8.1 (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#4)\n\t- ^0.8.1 (lib/openzeppelin-contracts/contracts/utils/Address.sol#4)\n", + "markdown": "Version constraint ^0.8.1 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- [^0.8.1](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L4)\n\t- [^0.8.1](lib/openzeppelin-contracts/contracts/utils/Address.sol#L4)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L4", + "id": "5b4c66a1bb40ec6a66dbf52a4cf24f6a91614ede5bb20cae9a049c071c3b9be2", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": ">=0.8.0", + "source_mapping": { + "start": 42, + "length": 24, + "filename_relative": "lib/solmate/src/auth/Owned.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", + "filename_short": "lib/solmate/src/auth/Owned.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.8.0", + "source_mapping": { + "start": 42, + "length": 24, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.8.0", + "source_mapping": { + "start": 42, + "length": 24, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.8", + ".0" + ] + } + } + ], + "description": "Version constraint >=0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- >=0.8.0 (lib/solmate/src/auth/Owned.sol#2)\n\t- >=0.8.0 (lib/solmate/src/tokens/ERC20.sol#2)\n\t- >=0.8.0 (lib/solmate/src/utils/FixedPointMathLib.sol#2)\n", + "markdown": "Version constraint >=0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- [>=0.8.0](lib/solmate/src/auth/Owned.sol#L2)\n\t- [>=0.8.0](lib/solmate/src/tokens/ERC20.sol#L2)\n\t- [>=0.8.0](lib/solmate/src/utils/FixedPointMathLib.sol#L2)\n", + "first_markdown_element": "lib/solmate/src/auth/Owned.sol#L2", + "id": "608762324767ce76c3af44990a7836a9dfdba566defdc7b70d6131bf689edff6", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": ">=0.4.22<0.9.0", + "source_mapping": { + "start": 32, + "length": 32, + "filename_relative": "lib/forge-std/src/console.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", + "filename_short": "lib/forge-std/src/console.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 33 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.4", + ".22", + "<", + "0.9", + ".0" + ] + } + } + ], + "description": "Version constraint >=0.4.22<0.9.0 is too complex.\nIt is used by:\n\t- >=0.4.22<0.9.0 (lib/forge-std/src/console.sol#2)\n", + "markdown": "Version constraint >=0.4.22<0.9.0 is too complex.\nIt is used by:\n\t- [>=0.4.22<0.9.0](lib/forge-std/src/console.sol#L2)\n", + "first_markdown_element": "lib/forge-std/src/console.sol#L2", + "id": "6c8ea62efd4799f5b24c03f450a6e012ab55c2446251d81bfa3eca7df3593083", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": ">=0.7.0<0.9.0", + "source_mapping": { + "start": 723, + "length": 31, + "filename_relative": "src/interfaces/IBalancerVault.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancerVault.sol", + "filename_short": "src/interfaces/IBalancerVault.sol", + "is_dependency": false, + "lines": [ + 17 + ], + "starting_column": 1, + "ending_column": 32 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.7", + ".0", + "<", + "0.9", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.7.0<0.9.0", + "source_mapping": { + "start": 38, + "length": 31, + "filename_relative": "src/interfaces/IERC20Mintable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IERC20Mintable.sol", + "filename_short": "src/interfaces/IERC20Mintable.sol", + "is_dependency": false, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 32 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.7", + ".0", + "<", + "0.9", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.7.0<0.9.0", + "source_mapping": { + "start": 38, + "length": 31, + "filename_relative": "src/interfaces/IOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IOracle.sol", + "filename_short": "src/interfaces/IOracle.sol", + "is_dependency": false, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 32 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.7", + ".0", + "<", + "0.9", + ".0" + ] + } + } + ], + "description": "Version constraint >=0.7.0<0.9.0 is too complex.\nIt is used by:\n\t- >=0.7.0<0.9.0 (src/interfaces/IBalancerVault.sol#17)\n\t- >=0.7.0<0.9.0 (src/interfaces/IERC20Mintable.sol#3)\n\t- >=0.7.0<0.9.0 (src/interfaces/IOracle.sol#3)\n", + "markdown": "Version constraint >=0.7.0<0.9.0 is too complex.\nIt is used by:\n\t- [>=0.7.0<0.9.0](src/interfaces/IBalancerVault.sol#L17)\n\t- [>=0.7.0<0.9.0](src/interfaces/IERC20Mintable.sol#L3)\n\t- [>=0.7.0<0.9.0](src/interfaces/IOracle.sol#L3)\n", + "first_markdown_element": "src/interfaces/IBalancerVault.sol#L17", + "id": "76329079d414df38af98aae17d79222e359e9f99d2775292b8f625e9c4ee13d0", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 118, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 108, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 104, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 94, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 102, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 107, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 113, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 93, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 115, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 105, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 106, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 110, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 114, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 115, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 86, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 105, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 101, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 99, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 100, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 103, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 205, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", + "is_dependency": true, + "lines": [ + 5 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 105, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/security/Pausable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/security/Pausable.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/security/Pausable.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 106, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 114, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 115, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 86, + "length": 23, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Context.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Context.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Context.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 32, + "length": 23, + "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 45, + "length": 23, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 169, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", + "filename_short": "lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", + "is_dependency": true, + "lines": [ + 4 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IAsset.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IAsset.sol", + "filename_short": "lib/vault-v2/src/interfaces/IAsset.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IAuthorizer.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IAuthorizer.sol", + "filename_short": "lib/vault-v2/src/interfaces/IAuthorizer.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IBasePool.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBasePool.sol", + "filename_short": "lib/vault-v2/src/interfaces/IBasePool.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", + "filename_short": "lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IBeetVault.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBeetVault.sol", + "filename_short": "lib/vault-v2/src/interfaces/IBeetVault.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", + "filename_short": "lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/ISignaturesValidator.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISignaturesValidator.sol", + "filename_short": "lib/vault-v2/src/interfaces/ISignaturesValidator.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/ISwapErrors.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapErrors.sol", + "filename_short": "lib/vault-v2/src/interfaces/ISwapErrors.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/ISwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapper.sol", + "filename_short": "lib/vault-v2/src/interfaces/ISwapper.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/ISwapperSwaps.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapperSwaps.sol", + "filename_short": "lib/vault-v2/src/interfaces/ISwapperSwaps.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", + "filename_short": "lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 36, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IVeloPair.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloPair.sol", + "filename_short": "lib/vault-v2/src/interfaces/IVeloPair.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IVeloRouter.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloRouter.sol", + "filename_short": "lib/vault-v2/src/interfaces/IVeloRouter.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 32, + "length": 23, + "filename_relative": "lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", + "filename_short": "lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "filename_short": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 82, + "length": 23, + "filename_relative": "lib/vault-v2/src/mixins/ReaperAccessControl.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/ReaperAccessControl.sol", + "filename_short": "lib/vault-v2/src/mixins/ReaperAccessControl.sol", + "is_dependency": true, + "lines": [ + 5 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", + "is_dependency": true, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 38, + "length": 23, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 679, + "length": 23, + "filename_relative": "src/interfaces/IBalancerTwapOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancerTwapOracle.sol", + "filename_short": "src/interfaces/IBalancerTwapOracle.sol", + "is_dependency": false, + "lines": [ + 15 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.0", + "source_mapping": { + "start": 37, + "length": 23, + "filename_relative": "src/interfaces/ISwapperSwaps.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/ISwapperSwaps.sol", + "filename_short": "src/interfaces/ISwapperSwaps.sol", + "is_dependency": false, + "lines": [ + 3 + ], + "starting_column": 1, + "ending_column": 24 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".0" + ] + } + } + ], + "description": "Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#5)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/security/Pausable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/utils/Context.sol#4)\n\t- ^0.8.0 (lib/v3-core/contracts/libraries/FullMath.sol#2)\n\t- ^0.8.0 (lib/v3-core/contracts/libraries/TickMath.sol#2)\n\t- ^0.8.0 (lib/vault-v2/src/ReaperSwapper.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/AggregatorV3Interface.sol#4)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IAsset.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IAuthorizer.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IBasePool.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IBaseWeightedPool.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IBeetVault.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IPoolSwapStructs.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/ISignaturesValidator.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/ISwapErrors.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/ISwapper.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/ISwapperSwaps.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/ITemporarilyPausable.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#2)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IVeloPair.sol#2)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IVeloRouter.sol#2)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol#2)\n\t- ^0.8.0 (lib/vault-v2/src/libraries/Babylonian.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/libraries/ReaperMathUtils.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/mixins/BalMixin.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/mixins/ReaperAccessControl.sol#5)\n\t- ^0.8.0 (lib/vault-v2/src/mixins/UniV2Mixin.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/mixins/UniV3Mixin.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/mixins/VeloSolidMixin.sol#3)\n\t- ^0.8.0 (src/helpers/SwapHelper.sol#3)\n\t- ^0.8.0 (src/interfaces/IBalancerTwapOracle.sol#15)\n\t- ^0.8.0 (src/interfaces/ISwapperSwaps.sol#3)\n", + "markdown": "Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L5)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/security/Pausable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/utils/Context.sol#L4)\n\t- [^0.8.0](lib/v3-core/contracts/libraries/FullMath.sol#L2)\n\t- [^0.8.0](lib/v3-core/contracts/libraries/TickMath.sol#L2)\n\t- [^0.8.0](lib/vault-v2/src/ReaperSwapper.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/AggregatorV3Interface.sol#L4)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IAsset.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IAuthorizer.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IBasePool.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IBaseWeightedPool.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IBeetVault.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IPoolSwapStructs.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/ISignaturesValidator.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/ISwapErrors.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/ISwapper.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/ISwapperSwaps.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/ITemporarilyPausable.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#L2)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IVeloPair.sol#L2)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IVeloRouter.sol#L2)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol#L2)\n\t- [^0.8.0](lib/vault-v2/src/libraries/Babylonian.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/libraries/ReaperMathUtils.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/mixins/BalMixin.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/mixins/ReaperAccessControl.sol#L5)\n\t- [^0.8.0](lib/vault-v2/src/mixins/UniV2Mixin.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/mixins/UniV3Mixin.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L3)\n\t- [^0.8.0](src/helpers/SwapHelper.sol#L3)\n\t- [^0.8.0](src/interfaces/IBalancerTwapOracle.sol#L15)\n\t- [^0.8.0](src/interfaces/ISwapperSwaps.sol#L3)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L4", + "id": "7bba08adf487efdfae92c045cfb77dbad46ee58270f68522c853dc82c1e990d1", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": ">=0.7.5", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/vault-v2/src/interfaces/ISwapRouter.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapRouter.sol", + "filename_short": "lib/vault-v2/src/interfaces/ISwapRouter.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.7", + ".5" + ] + } + } + ], + "description": "Version constraint >=0.7.5 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- >=0.7.5 (lib/vault-v2/src/interfaces/ISwapRouter.sol#2)\n", + "markdown": "Version constraint >=0.7.5 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- [>=0.7.5](lib/vault-v2/src/interfaces/ISwapRouter.sol#L2)\n", + "first_markdown_element": "lib/vault-v2/src/interfaces/ISwapRouter.sol#L2", + "id": "9c890bf1b0570a6ad5a5771e5200b17d26d14d586d8c631f6f0a188594d81fe9", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": ">=0.6.2", + "source_mapping": { + "start": 36, + "length": 24, + "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", + "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.6", + ".2" + ] + } + } + ], + "description": "Version constraint >=0.6.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- MissingEscapingInFormatting\n\t- ArraySliceDynamicallyEncodedBaseType\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow.\nIt is used by:\n\t- >=0.6.2 (lib/vault-v2/src/interfaces/IUniswapV2Router02.sol#2)\n", + "markdown": "Version constraint >=0.6.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- MissingEscapingInFormatting\n\t- ArraySliceDynamicallyEncodedBaseType\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow.\nIt is used by:\n\t- [>=0.6.2](lib/vault-v2/src/interfaces/IUniswapV2Router02.sol#L2)\n", + "first_markdown_element": "lib/vault-v2/src/interfaces/IUniswapV2Router02.sol#L2", + "id": "bb0533356ecafe8099cc0d63ad30c4f7a6c44a4cbc4b5ed69e728fc32e446f1f", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/interfaces/IBalancer2TokensPool.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancer2TokensPool.sol", + "filename_short": "src/interfaces/IBalancer2TokensPool.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/interfaces/IExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IExercise.sol", + "filename_short": "src/interfaces/IExercise.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/interfaces/IOptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IOptionsToken.sol", + "filename_short": "src/interfaces/IOptionsToken.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/oracles/BalancerOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", + "filename_short": "src/oracles/BalancerOracle.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/oracles/ThenaOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/ThenaOracle.sol", + "filename_short": "src/oracles/ThenaOracle.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + }, + { + "type": "pragma", + "name": "^0.8.13", + "source_mapping": { + "start": 37, + "length": 24, + "filename_relative": "src/oracles/UniswapV3Oracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", + "filename_short": "src/oracles/UniswapV3Oracle.sol", + "is_dependency": false, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + "^", + "0.8", + ".13" + ] + } + } + ], + "description": "Version constraint ^0.8.13 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- VerbatimInvalidDeduplication\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- StorageWriteRemovalBeforeConditionalTermination\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- InlineAssemblyMemorySideEffects\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation.\nIt is used by:\n\t- ^0.8.13 (src/OptionsToken.sol#2)\n\t- ^0.8.13 (src/exercise/BaseExercise.sol#2)\n\t- ^0.8.13 (src/exercise/DiscountExercise.sol#2)\n\t- ^0.8.13 (src/interfaces/IBalancer2TokensPool.sol#2)\n\t- ^0.8.13 (src/interfaces/IExercise.sol#2)\n\t- ^0.8.13 (src/interfaces/IOptionsToken.sol#2)\n\t- ^0.8.13 (src/oracles/BalancerOracle.sol#2)\n\t- ^0.8.13 (src/oracles/ThenaOracle.sol#2)\n\t- ^0.8.13 (src/oracles/UniswapV3Oracle.sol#2)\n", + "markdown": "Version constraint ^0.8.13 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- VerbatimInvalidDeduplication\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- StorageWriteRemovalBeforeConditionalTermination\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- InlineAssemblyMemorySideEffects\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation.\nIt is used by:\n\t- [^0.8.13](src/OptionsToken.sol#L2)\n\t- [^0.8.13](src/exercise/BaseExercise.sol#L2)\n\t- [^0.8.13](src/exercise/DiscountExercise.sol#L2)\n\t- [^0.8.13](src/interfaces/IBalancer2TokensPool.sol#L2)\n\t- [^0.8.13](src/interfaces/IExercise.sol#L2)\n\t- [^0.8.13](src/interfaces/IOptionsToken.sol#L2)\n\t- [^0.8.13](src/oracles/BalancerOracle.sol#L2)\n\t- [^0.8.13](src/oracles/ThenaOracle.sol#L2)\n\t- [^0.8.13](src/oracles/UniswapV3Oracle.sol#L2)\n", + "first_markdown_element": "src/OptionsToken.sol#L2", + "id": "d77d9a4f3322696453d48caf7374c78bcac298207384a6493c0203cab485063e", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", + "filename_short": "lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", + "filename_short": "lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", + "filename_short": "lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + }, + { + "type": "pragma", + "name": ">=0.5.0", + "source_mapping": { + "start": 45, + "length": 24, + "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", + "filename_short": "lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", + "is_dependency": true, + "lines": [ + 2 + ], + "starting_column": 1, + "ending_column": 25 + }, + "type_specific_fields": { + "directive": [ + "solidity", + ">=", + "0.5", + ".0" + ] + } + } + ], + "description": "Version constraint >=0.5.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- DirtyBytesArrayToStorage\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow\n\t- privateCanBeOverridden\n\t- SignedArrayStorageCopy\n\t- ABIEncoderV2StorageArrayWithMultiSlotElement\n\t- DynamicConstructorArgumentsClippedABIV2\n\t- UninitializedFunctionPointerInConstructor\n\t- IncorrectEventSignatureInLibraries\n\t- ABIEncoderV2PackedStorage.\nIt is used by:\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#2)\n\t- >=0.5.0 (lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol#2)\n\t- >=0.5.0 (lib/vault-v2/src/interfaces/IUniswapV3Factory.sol#2)\n\t- >=0.5.0 (lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol#2)\n", + "markdown": "Version constraint >=0.5.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- DirtyBytesArrayToStorage\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow\n\t- privateCanBeOverridden\n\t- SignedArrayStorageCopy\n\t- ABIEncoderV2StorageArrayWithMultiSlotElement\n\t- DynamicConstructorArgumentsClippedABIV2\n\t- UninitializedFunctionPointerInConstructor\n\t- IncorrectEventSignatureInLibraries\n\t- ABIEncoderV2PackedStorage.\nIt is used by:\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#L2)\n\t- [>=0.5.0](lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol#L2)\n\t- [>=0.5.0](lib/vault-v2/src/interfaces/IUniswapV3Factory.sol#L2)\n\t- [>=0.5.0](lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol#L2)\n", + "first_markdown_element": "lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol#L2", + "id": "e84a495d364105fdd86e3c7f8f77d282f0048ce3bd2dd58f1ffef9abeb868a29", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5240, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4960, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + } + } + ], + "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#128-137):\n\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n", + "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L128-L137):\n\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n", + "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L128-L137", + "id": "117f0e40fe1352d1526a3c30c36971a0228cffa749da9528fa1d65423334e755", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "safeTransfer", + "source_mapping": { + "start": 1152, + "length": 279, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 24, + 25, + 26, + 27 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TransferHelper", + "source_mapping": { + "start": 108, + "length": 2309, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "safeTransfer(address,address,uint256)" + } + }, + { + "type": "node", + "name": "(success,data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector,to,value))", + "source_mapping": { + "start": 1235, + "length": 107, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 25 + ], + "starting_column": 9, + "ending_column": 116 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "safeTransfer", + "source_mapping": { + "start": 1152, + "length": 279, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 24, + 25, + 26, + 27 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TransferHelper", + "source_mapping": { + "start": 108, + "length": 2309, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "safeTransfer(address,address,uint256)" + } + } + } + } + ], + "description": "Low level call in TransferHelper.safeTransfer(address,address,uint256) (lib/vault-v2/src/libraries/TransferHelper.sol#24-27):\n\t- (success,data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector,to,value)) (lib/vault-v2/src/libraries/TransferHelper.sol#25)\n", + "markdown": "Low level call in [TransferHelper.safeTransfer(address,address,uint256)](lib/vault-v2/src/libraries/TransferHelper.sol#L24-L27):\n\t- [(success,data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector,to,value))](lib/vault-v2/src/libraries/TransferHelper.sol#L25)\n", + "first_markdown_element": "lib/vault-v2/src/libraries/TransferHelper.sol#L24-L27", + "id": "25ed2c6c6c60a5ffbabebdd4d6f7bfd18fd58359a16acbf51f11d083bbc5b7a6", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "safeTransferFrom", + "source_mapping": { + "start": 540, + "length": 320, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 13, + 14, + 15, + 16, + 17 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TransferHelper", + "source_mapping": { + "start": 108, + "length": 2309, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "safeTransferFrom(address,address,address,uint256)" + } + }, + { + "type": "node", + "name": "(success,data) = token.call(abi.encodeWithSelector(IERC20.transferFrom.selector,from,to,value))", + "source_mapping": { + "start": 641, + "length": 129, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 14, + 15 + ], + "starting_column": 9, + "ending_column": 94 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "safeTransferFrom", + "source_mapping": { + "start": 540, + "length": 320, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 13, + 14, + 15, + 16, + 17 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TransferHelper", + "source_mapping": { + "start": 108, + "length": 2309, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "safeTransferFrom(address,address,address,uint256)" + } + } + } + } + ], + "description": "Low level call in TransferHelper.safeTransferFrom(address,address,address,uint256) (lib/vault-v2/src/libraries/TransferHelper.sol#13-17):\n\t- (success,data) = token.call(abi.encodeWithSelector(IERC20.transferFrom.selector,from,to,value)) (lib/vault-v2/src/libraries/TransferHelper.sol#14-15)\n", + "markdown": "Low level call in [TransferHelper.safeTransferFrom(address,address,address,uint256)](lib/vault-v2/src/libraries/TransferHelper.sol#L13-L17):\n\t- [(success,data) = token.call(abi.encodeWithSelector(IERC20.transferFrom.selector,from,to,value))](lib/vault-v2/src/libraries/TransferHelper.sol#L14-L15)\n", + "first_markdown_element": "lib/vault-v2/src/libraries/TransferHelper.sol#L13-L17", + "id": "4106472e91e5e4243fd3d3b66b2a8990e1c95c0a5bf0a286b8e1e6597c12ebb6", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_functionDelegateCall", + "source_mapping": { + "start": 6780, + "length": 455, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 184, + 185, + 186, + 187, + 188, + 189, + 190 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC1967UpgradeUpgradeable", + "source_mapping": { + "start": 661, + "length": 6867, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_functionDelegateCall(address,bytes)" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.delegatecall(data)", + "source_mapping": { + "start": 7045, + "length": 67, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 188 + ], + "starting_column": 9, + "ending_column": 76 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_functionDelegateCall", + "source_mapping": { + "start": 6780, + "length": 455, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 184, + 185, + 186, + 187, + 188, + 189, + 190 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC1967UpgradeUpgradeable", + "source_mapping": { + "start": 661, + "length": 6867, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "_functionDelegateCall(address,bytes)" + } + } + } + } + ], + "description": "Low level call in ERC1967UpgradeUpgradeable._functionDelegateCall(address,bytes) (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#184-190):\n\t- (success,returndata) = target.delegatecall(data) (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#188)\n", + "markdown": "Low level call in [ERC1967UpgradeUpgradeable._functionDelegateCall(address,bytes)](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L184-L190):\n\t- [(success,returndata) = target.delegatecall(data)](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L188)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L184-L190", + "id": "68c54f03456c9af14bc78976aaac6bce102000001fe91323e0ffc2d36d3acd64", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "sendValue", + "source_mapping": { + "start": 2412, + "length": 312, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 60, + 61, + 62, + 63, + 64, + 65 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sendValue(address,uint256)" + } + }, + { + "type": "node", + "name": "(success,None) = recipient.call{value: amount}()", + "source_mapping": { + "start": 2577, + "length": 52, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 63 + ], + "starting_column": 9, + "ending_column": 61 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "sendValue", + "source_mapping": { + "start": 2412, + "length": 312, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 60, + 61, + 62, + 63, + 64, + 65 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sendValue(address,uint256)" + } + } + } + } + ], + "description": "Low level call in Address.sendValue(address,uint256) (lib/openzeppelin-contracts/contracts/utils/Address.sol#60-65):\n\t- (success,None) = recipient.call{value: amount}() (lib/openzeppelin-contracts/contracts/utils/Address.sol#63)\n", + "markdown": "Low level call in [Address.sendValue(address,uint256)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L60-L65):\n\t- [(success,None) = recipient.call{value: amount}()](lib/openzeppelin-contracts/contracts/utils/Address.sol#L63)\n", + "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L60-L65", + "id": "71a3a6ee368d2284f3a1f62a49cfd8cdecd854d6c9799bb82199830989d7fb6c", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "sendValue", + "source_mapping": { + "start": 2423, + "length": 312, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 60, + 61, + 62, + 63, + 64, + 65 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sendValue(address,uint256)" + } + }, + { + "type": "node", + "name": "(success,None) = recipient.call{value: amount}()", + "source_mapping": { + "start": 2588, + "length": 52, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 63 + ], + "starting_column": 9, + "ending_column": 61 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "sendValue", + "source_mapping": { + "start": 2423, + "length": 312, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 60, + 61, + 62, + 63, + 64, + 65 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sendValue(address,uint256)" + } + } + } + } + ], + "description": "Low level call in AddressUpgradeable.sendValue(address,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#60-65):\n\t- (success,None) = recipient.call{value: amount}() (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#63)\n", + "markdown": "Low level call in [AddressUpgradeable.sendValue(address,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L60-L65):\n\t- [(success,None) = recipient.call{value: amount}()](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L63)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L60-L65", + "id": "89d29e5a468e08c404fcc98bf6872b9e33ca2f30eaea1879f1d6a95c9faca274", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "functionStaticCall", + "source_mapping": { + "start": 5975, + "length": 326, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionStaticCall(address,bytes,string)" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.staticcall(data)", + "source_mapping": { + "start": 6143, + "length": 65, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 160 + ], + "starting_column": 9, + "ending_column": 74 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionStaticCall", + "source_mapping": { + "start": 5975, + "length": 326, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionStaticCall(address,bytes,string)" + } + } + } + } + ], + "description": "Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#155-162):\n\t- (success,returndata) = target.staticcall(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#160)\n", + "markdown": "Low level call in [AddressUpgradeable.functionStaticCall(address,bytes,string)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L155-L162):\n\t- [(success,returndata) = target.staticcall(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L160)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L155-L162", + "id": "930ee0ffde6f0923876c4bc0067edc13707a3214f1d8d8954a2ef16471f1ee87", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "functionStaticCall", + "source_mapping": { + "start": 5964, + "length": 326, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionStaticCall(address,bytes,string)" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.staticcall(data)", + "source_mapping": { + "start": 6132, + "length": 65, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 160 + ], + "starting_column": 9, + "ending_column": 74 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionStaticCall", + "source_mapping": { + "start": 5964, + "length": 326, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionStaticCall(address,bytes,string)" + } + } + } + } + ], + "description": "Low level call in Address.functionStaticCall(address,bytes,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#155-162):\n\t- (success,returndata) = target.staticcall(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#160)\n", + "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L155-L162):\n\t- [(success,returndata) = target.staticcall(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L160)\n", + "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L155-L162", + "id": "93eb0561ad76cb924a6646e71a8388be0f653be8a9cd37bdb60e25805d8be051", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "safeTransferETH", + "source_mapping": { + "start": 2251, + "length": 164, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 43, + 44, + 45, + 46 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TransferHelper", + "source_mapping": { + "start": 108, + "length": 2309, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "safeTransferETH(address,uint256)" + } + }, + { + "type": "node", + "name": "(success,None) = to.call{value: value}(new bytes(0))", + "source_mapping": { + "start": 2322, + "length": 53, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 44 + ], + "starting_column": 9, + "ending_column": 62 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "safeTransferETH", + "source_mapping": { + "start": 2251, + "length": 164, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 43, + 44, + 45, + 46 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TransferHelper", + "source_mapping": { + "start": 108, + "length": 2309, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "safeTransferETH(address,uint256)" + } + } + } + } + ], + "description": "Low level call in TransferHelper.safeTransferETH(address,uint256) (lib/vault-v2/src/libraries/TransferHelper.sol#43-46):\n\t- (success,None) = to.call{value: value}(new bytes(0)) (lib/vault-v2/src/libraries/TransferHelper.sol#44)\n", + "markdown": "Low level call in [TransferHelper.safeTransferETH(address,uint256)](lib/vault-v2/src/libraries/TransferHelper.sol#L43-L46):\n\t- [(success,None) = to.call{value: value}(new bytes(0))](lib/vault-v2/src/libraries/TransferHelper.sol#L44)\n", + "first_markdown_element": "lib/vault-v2/src/libraries/TransferHelper.sol#L43-L46", + "id": "a7ee1b8ee08e673c81b6be63d50aa8273a86fb1be76e38aa60b066b6cb985739", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "safeApprove", + "source_mapping": { + "start": 1784, + "length": 277, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 34, + 35, + 36, + 37 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TransferHelper", + "source_mapping": { + "start": 108, + "length": 2309, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "safeApprove(address,address,uint256)" + } + }, + { + "type": "node", + "name": "(success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value))", + "source_mapping": { + "start": 1866, + "length": 106, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 35 + ], + "starting_column": 9, + "ending_column": 115 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "safeApprove", + "source_mapping": { + "start": 1784, + "length": 277, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 34, + 35, + 36, + 37 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TransferHelper", + "source_mapping": { + "start": 108, + "length": 2309, + "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", + "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "safeApprove(address,address,uint256)" + } + } + } + } + ], + "description": "Low level call in TransferHelper.safeApprove(address,address,uint256) (lib/vault-v2/src/libraries/TransferHelper.sol#34-37):\n\t- (success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value)) (lib/vault-v2/src/libraries/TransferHelper.sol#35)\n", + "markdown": "Low level call in [TransferHelper.safeApprove(address,address,uint256)](lib/vault-v2/src/libraries/TransferHelper.sol#L34-L37):\n\t- [(success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value))](lib/vault-v2/src/libraries/TransferHelper.sol#L35)\n", + "first_markdown_element": "lib/vault-v2/src/libraries/TransferHelper.sol#L34-L37", + "id": "c7fac630cfc9b967d8af50ae5e1c350df9a222c8c9e8ef56e33726ed42bf6bfd", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.call{value: value}(data)", + "source_mapping": { + "start": 5251, + "length": 73, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 82 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionCallWithValue", + "source_mapping": { + "start": 4971, + "length": 446, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AddressUpgradeable", + "source_mapping": { + "start": 194, + "length": 8087, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionCallWithValue(address,bytes,uint256,string)" + } + } + } + } + ], + "description": "Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#128-137):\n\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n", + "markdown": "Low level call in [AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L128-L137):\n\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L128-L137", + "id": "c89bbc1f4bb1262a39f9090cc1b9e7447b4593134afdcf6677ccbd6a394243ae", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "functionDelegateCall", + "source_mapping": { + "start": 6853, + "length": 325, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionDelegateCall(address,bytes,string)" + } + }, + { + "type": "node", + "name": "(success,returndata) = target.delegatecall(data)", + "source_mapping": { + "start": 7018, + "length": 67, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 185 + ], + "starting_column": 9, + "ending_column": 76 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "functionDelegateCall", + "source_mapping": { + "start": 6853, + "length": 325, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Address", + "source_mapping": { + "start": 194, + "length": 8964, + "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "functionDelegateCall(address,bytes,string)" + } + } + } + } + ], + "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#180-187):\n\t- (success,returndata) = target.delegatecall(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#185)\n", + "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L180-L187):\n\t- [(success,returndata) = target.delegatecall(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L185)\n", + "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L180-L187", + "id": "d195a90c4848e59b62bdf1e5bf577abf5a3a0d92ac7dad04aef4ca0c978598bb", + "check": "low-level-calls", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 3672, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 97 + ], + "starting_column": 71, + "ending_column": 86 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateUniV2SwapPath", + "source_mapping": { + "start": 3606, + "length": 253, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateUniV2SwapPath(address,address,address,address[])" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._router (lib/vault-v2/src/ReaperSwapper.sol#97) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._router](lib/vault-v2/src/ReaperSwapper.sol#L97) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L97", + "id": "045fb660d1db15a01f9c99a6b5f6fb1408a8fd0d9c8a18d9df6c0ba49a374583", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 9195, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 258 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 9098, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#258) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L258) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L258", + "id": "056e10de3ceb71ae24ecfcaa44f6c9ca1e39f54e0a350667ed239b6dc8076db7", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 5256, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 144 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._router (lib/vault-v2/src/ReaperSwapper.sol#144) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._router](lib/vault-v2/src/ReaperSwapper.sol#L144) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L144", + "id": "0787751791a4c77b7495d89adc97395e4ffcf397cb1818fdb17614015b8de9dc", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 8323, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 234 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 8252, + "length": 300, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._amount (lib/vault-v2/src/ReaperSwapper.sol#234) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._amount](lib/vault-v2/src/ReaperSwapper.sol#L234) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L234", + "id": "08b84b7756b996f86a47f6056fbae30a072defadc58214f35cfc7d507bbbf801", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_deadline", + "source_mapping": { + "start": 8731, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 247 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline (lib/vault-v2/src/ReaperSwapper.sol#247) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L247) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L247", + "id": "08efa8121ff57e30ff0150c964c8970a993a0edcaca089059974cbfcc6366943", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tokenIn", + "source_mapping": { + "start": 3635, + "length": 16, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 97 + ], + "starting_column": 34, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateUniV2SwapPath", + "source_mapping": { + "start": 3606, + "length": 253, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateUniV2SwapPath(address,address,address,address[])" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._tokenIn (lib/vault-v2/src/ReaperSwapper.sol#97) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._tokenIn](lib/vault-v2/src/ReaperSwapper.sol#L97) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L97", + "id": "0b27fda3861b3fe8e55b99783814bc1cee3e0c23c1f343feb33c325f4501d68c", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 9149, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 256 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 9098, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._to (lib/vault-v2/src/ReaperSwapper.sol#256) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._to](lib/vault-v2/src/ReaperSwapper.sol#L256) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L256", + "id": "0b4fd12a14dd7d67ae408415c747efa419594368b633030ff52d6c977203874c", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_deadline", + "source_mapping": { + "start": 8097, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 226 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7925, + "length": 321, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._deadline (lib/vault-v2/src/ReaperSwapper.sol#226) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L226) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L226", + "id": "0cdc556021475f0af1abd7fd72e843e33927c369b1e1c0ffaae3798048a0c1ae", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_swapPathAndFees", + "source_mapping": { + "start": 4500, + "length": 37, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 125 + ], + "starting_column": 9, + "ending_column": 46 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateUniV3SwapPath", + "source_mapping": { + "start": 4384, + "length": 297, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateUniV3SwapPath(address,address,address,UniV3SwapData)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._swapPathAndFees (lib/vault-v2/src/ReaperSwapper.sol#125) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._swapPathAndFees](lib/vault-v2/src/ReaperSwapper.sol#L125) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L125", + "id": "0e642fe8b87d792e6c6d36b518053207216f97f0fef498badb6a7874ed3df69a", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 9524, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 269 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 9427, + "length": 302, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#269) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L269) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L269", + "id": "10054eaf2fa911a848a5fad5a0dda5b107dcf5deb8cb4f17cbb21eed25bfe193", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "source_mapping": { + "start": 2200, + "length": 60, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "is_dependency": true, + "lines": [ + 59 + ], + "starting_column": 5, + "ending_column": 65 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "IERC20PermitUpgradeable", + "source_mapping": { + "start": 620, + "length": 1642, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "DOMAIN_SEPARATOR()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function IERC20PermitUpgradeable.DOMAIN_SEPARATOR() (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#59) is not in mixedCase\n", + "markdown": "Function [IERC20PermitUpgradeable.DOMAIN_SEPARATOR()](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L59) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L59", + "id": "125dfc7c7f2b3906a5391a5c33308280a9b2578cf6bba9c9acfe0f81566a4a45", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 6009, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 165 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5958, + "length": 302, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._to (lib/vault-v2/src/ReaperSwapper.sol#165) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._to](lib/vault-v2/src/ReaperSwapper.sol#L165) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L165", + "id": "13386020056a24202ba7c82b9d72db8fadd9fc2dd25e8f0619ad4ee353fa6be8", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tryCatchActive", + "source_mapping": { + "start": 5308, + "length": 20, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 146 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive (lib/vault-v2/src/ReaperSwapper.sol#146) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive](lib/vault-v2/src/ReaperSwapper.sol#L146) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L146", + "id": "1413c8e43afe2c3bb270b1d87658ac7a5460b58ea2c4207eff0b7f20572e3487", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 5657, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 153 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5629, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._from (lib/vault-v2/src/ReaperSwapper.sol#153) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._from](lib/vault-v2/src/ReaperSwapper.sol#L153) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L153", + "id": "167f6e358e928549089ddd67ae14cacf28a7b6b3d2ba49ecde0d95bbdf59a712", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_token", + "source_mapping": { + "start": 4718, + "length": 14, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 131 + ], + "starting_column": 36, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateTokenAggregator", + "source_mapping": { + "start": 4687, + "length": 415, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateTokenAggregator(address,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateTokenAggregator(address,address,uint256)._token (lib/vault-v2/src/ReaperSwapper.sol#131) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateTokenAggregator(address,address,uint256)._token](lib/vault-v2/src/ReaperSwapper.sol#L131) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L131", + "id": "16896e5595b8f444a953b0b29208119da1d296a34ca6563be4c53b709cc64eec", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 5180, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 142 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount (lib/vault-v2/src/ReaperSwapper.sol#142) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount](lib/vault-v2/src/ReaperSwapper.sol#L142) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L142", + "id": "17950f73fc7894890b97248a7fa127919e88cf0d7f1253e8140b803d31fe376d", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 7553, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 212 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._router (lib/vault-v2/src/ReaperSwapper.sol#212) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._router](lib/vault-v2/src/ReaperSwapper.sol#L212) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L212", + "id": "2071ae182e04da551e03610f93d5f1c8cbd402de79ade41335d807e0c8f9ca2d", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 9246, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 259 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 9098, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._router (lib/vault-v2/src/ReaperSwapper.sol#259) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._router](lib/vault-v2/src/ReaperSwapper.sol#L259) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L259", + "id": "21aa1ba8369fb7a559e4c0fc1bf22fe287113c68f962299287db1014485354ae", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__AccessControl_init_unchained", + "source_mapping": { + "start": 2096, + "length": 75, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "is_dependency": true, + "lines": [ + 54, + 55 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AccessControlUpgradeable", + "source_mapping": { + "start": 1893, + "length": 6829, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__AccessControl_init_unchained()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function AccessControlUpgradeable.__AccessControl_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#54-55) is not in mixedCase\n", + "markdown": "Function [AccessControlUpgradeable.__AccessControl_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L54-L55) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L54-L55", + "id": "226e7d5af64c132f41abf0df79c0723e2a9ee53e2961f745732ce61ab1360dbe", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_deadline", + "source_mapping": { + "start": 7578, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 213 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline (lib/vault-v2/src/ReaperSwapper.sol#213) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L213) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L213", + "id": "240474b72d2cdc4bd8b66ec268a242cf52bd88a0bd41e774e65b9f185e61fbbe", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__ERC1967Upgrade_init_unchained", + "source_mapping": { + "start": 821, + "length": 76, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 25, + 26 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC1967UpgradeUpgradeable", + "source_mapping": { + "start": 661, + "length": 6867, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__ERC1967Upgrade_init_unchained()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#25-26) is not in mixedCase\n", + "markdown": "Function [ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L25-L26) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L25-L26", + "id": "29c5a9e0594a34ab55098292b0786be5a1f49f1e651ab7af2a669ca40aceb7cb", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 7199, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 201 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 7104, + "length": 296, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#201) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L201) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L201", + "id": "2be2dfb84a1a47a1fe2c701f27b43bdd31cbf35e78f89cc8ed3ef46fb5072bca", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 8655, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 245 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#245) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L245) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L245", + "id": "2c2e8431129b1c52325a318d5db8219a891248cfc55c1a5cf2b2920f2c9fa9f8", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tokenOut", + "source_mapping": { + "start": 3653, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 97 + ], + "starting_column": 52, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateUniV2SwapPath", + "source_mapping": { + "start": 3606, + "length": 253, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateUniV2SwapPath(address,address,address,address[])" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._tokenOut (lib/vault-v2/src/ReaperSwapper.sol#97) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._tokenOut](lib/vault-v2/src/ReaperSwapper.sol#L97) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L97", + "id": "2c8a8bc61df4a18b388999061d6fa5010feaf9562fd8d62b188e468e456a7153", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "INITIAL_CHAIN_ID", + "source_mapping": { + "start": 1643, + "length": 43, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 41 + ], + "starting_column": 5, + "ending_column": 48 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC20", + "source_mapping": { + "start": 474, + "length": 6337, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "variable", + "convention": "mixedCase" + } + } + ], + "description": "Variable ERC20.INITIAL_CHAIN_ID (lib/solmate/src/tokens/ERC20.sol#41) is not in mixedCase\n", + "markdown": "Variable [ERC20.INITIAL_CHAIN_ID](lib/solmate/src/tokens/ERC20.sol#L41) is not in mixedCase\n", + "first_markdown_element": "lib/solmate/src/tokens/ERC20.sol#L41", + "id": "2e819ac97dab8ee9a559c975cd452228b363b633f4622a8c32d0502767b91e40", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 9455, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 266 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 9427, + "length": 302, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._from (lib/vault-v2/src/ReaperSwapper.sol#266) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._from](lib/vault-v2/src/ReaperSwapper.sol#L266) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L266", + "id": "3018788d12fc4b75ffed237e40bf2d933f3f102f422ca4e6f6ec99588852c88a", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 6336, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 176 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount (lib/vault-v2/src/ReaperSwapper.sol#176) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount](lib/vault-v2/src/ReaperSwapper.sol#L176) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L176", + "id": "30afd9ece480d36302713f1423a92fdac5775d35d8e9084b6744f69d41cb35e5", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_nextImplementation", + "source_mapping": { + "start": 6725, + "length": 27, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 162 + ], + "starting_column": 38, + "ending_column": 65 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "initiateUpgradeCooldown", + "source_mapping": { + "start": 6692, + "length": 185, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 162, + 163, + 164, + 165 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "initiateUpgradeCooldown(address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter OptionsToken.initiateUpgradeCooldown(address)._nextImplementation (src/OptionsToken.sol#162) is not in mixedCase\n", + "markdown": "Parameter [OptionsToken.initiateUpgradeCooldown(address)._nextImplementation](src/OptionsToken.sol#L162) is not in mixedCase\n", + "first_markdown_element": "src/OptionsToken.sol#L162", + "id": "33e53f10ff3f49b18813d9dac0930ba1348d308496c90d9c1a00c0497f5c3cee", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_path", + "source_mapping": { + "start": 3689, + "length": 22, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 97 + ], + "starting_column": 88, + "ending_column": 110 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateUniV2SwapPath", + "source_mapping": { + "start": 3606, + "length": 253, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateUniV2SwapPath(address,address,address,address[])" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._path (lib/vault-v2/src/ReaperSwapper.sol#97) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._path](lib/vault-v2/src/ReaperSwapper.sol#L97) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L97", + "id": "3421d80536152c860bba400d09dfde114340f7d38d4da09d6edfbf1adb890352", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tokenB", + "source_mapping": { + "start": 746, + "length": 15, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 20 + ], + "starting_column": 46, + "ending_column": 61 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "uniV3SwapPaths", + "source_mapping": { + "start": 705, + "length": 214, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "uniV3SwapPaths(address,address,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter UniV3Mixin.uniV3SwapPaths(address,address,address)._tokenB (lib/vault-v2/src/mixins/UniV3Mixin.sol#20) is not in mixedCase\n", + "markdown": "Parameter [UniV3Mixin.uniV3SwapPaths(address,address,address)._tokenB](lib/vault-v2/src/mixins/UniV3Mixin.sol#L20) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L20", + "id": "348fbebd40a224260ed0a3f0410ab794e4cdc194d7609d7c57ecede5098d527e", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tryCatchActive", + "source_mapping": { + "start": 8758, + "length": 20, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 248 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive (lib/vault-v2/src/ReaperSwapper.sol#248) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive](lib/vault-v2/src/ReaperSwapper.sol#L248) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L248", + "id": "34c29ba73612384447f21b695bb026ad188d469ca5f98fa472e6aa3a356a605c", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 5159, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 141 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._to (lib/vault-v2/src/ReaperSwapper.sol#141) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._to](lib/vault-v2/src/ReaperSwapper.sol#L141) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L141", + "id": "3527544cbdfbf1bebedc91e97603769f33a1dc4a2222084fe3f4bd86a36f9ae4", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 9478, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 267 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 9427, + "length": 302, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._to (lib/vault-v2/src/ReaperSwapper.sol#267) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._to](lib/vault-v2/src/ReaperSwapper.sol#L267) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L267", + "id": "35548d0c4635a0baa765bad2062c1031d24a1447c98997ef625d4024d4d39032", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 1316, + "length": 25, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "is_dependency": true, + "lines": [ + 36 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ContextUpgradeable", + "source_mapping": { + "start": 651, + "length": 693, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "is_dependency": true, + "lines": [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "variable", + "convention": "mixedCase" + } + } + ], + "description": "Variable ContextUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#36) is not in mixedCase\n", + "markdown": "Variable [ContextUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L36) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L36", + "id": "36b0d7790b5ec0201a99f98a2f3b1afbd4248739c34889d0a9d08876f3462218", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 8021, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 224 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7925, + "length": 321, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#224) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L224) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L224", + "id": "3ec1f062d6f5a182e9f67dda7fd25e897ffe978e3fdbc7561351fbe383d21c95", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 8694, + "length": 25, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "is_dependency": true, + "lines": [ + 259 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AccessControlUpgradeable", + "source_mapping": { + "start": 1893, + "length": 6829, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "variable", + "convention": "mixedCase" + } + } + ], + "description": "Variable AccessControlUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#259) is not in mixedCase\n", + "markdown": "Variable [AccessControlUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L259) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L259", + "id": "408a5a92ce9ee8bac5e964324c5e93c944b47606ce29c3515b4b54a7b28f372d", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 8279, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 232 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 8252, + "length": 300, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._from (lib/vault-v2/src/ReaperSwapper.sol#232) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._from](lib/vault-v2/src/ReaperSwapper.sol#L232) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L232", + "id": "418fec69fa0a926c5aa4783ab996662cd9d15da3993b0c11ddc008e3789bc3f4", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_path", + "source_mapping": { + "start": 4199, + "length": 32, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 113 + ], + "starting_column": 87, + "ending_column": 119 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateVeloSwapPath", + "source_mapping": { + "start": 4117, + "length": 261, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateVeloSwapPath(address,address,address,IVeloRouter.Route[])" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._path (lib/vault-v2/src/ReaperSwapper.sol#113) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._path](lib/vault-v2/src/ReaperSwapper.sol#L113) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L113", + "id": "42609e99303070d0b460b62a3ec86983b6fd5109aaf634a9026fba1cb7e77c33", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_deadline", + "source_mapping": { + "start": 9271, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 260 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 9098, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._deadline (lib/vault-v2/src/ReaperSwapper.sol#260) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L260) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L260", + "id": "48154271b8c895c6b802a31b0ae8d16001c8ba95b0c1bef15c0adb32c0f98c5f", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 6030, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 166 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5958, + "length": 302, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._amount (lib/vault-v2/src/ReaperSwapper.sol#166) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._amount](lib/vault-v2/src/ReaperSwapper.sol#L166) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L166", + "id": "489c7627531111a361ddb5b0fa876959c0b5c227264305d2efbf558425eaa0c7", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "source_mapping": { + "start": 5327, + "length": 177, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 162, + 163, + 164 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC20", + "source_mapping": { + "start": 474, + "length": 6337, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "DOMAIN_SEPARATOR()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function ERC20.DOMAIN_SEPARATOR() (lib/solmate/src/tokens/ERC20.sol#162-164) is not in mixedCase\n", + "markdown": "Function [ERC20.DOMAIN_SEPARATOR()](lib/solmate/src/tokens/ERC20.sol#L162-L164) is not in mixedCase\n", + "first_markdown_element": "lib/solmate/src/tokens/ERC20.sol#L162-L164", + "id": "49160d2232fd1cf66e40eea2eb550f349c00a0d29cfaf4670e104b4832e0d5b0", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 8399, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 236 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 8252, + "length": 300, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._router (lib/vault-v2/src/ReaperSwapper.sol#236) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._router](lib/vault-v2/src/ReaperSwapper.sol#L236) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L236", + "id": "51317259fb342989bb3002f86d27d0d8d3800e8013b1105278f724a65f97b3b2", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_token", + "source_mapping": { + "start": 12613, + "length": 14, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 333 + ], + "starting_column": 44, + "ending_column": 58 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getChainlinkPriceTargetDigits", + "source_mapping": { + "start": 12574, + "length": 693, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getChainlinkPriceTargetDigits(address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.getChainlinkPriceTargetDigits(address)._token (lib/vault-v2/src/ReaperSwapper.sol#333) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.getChainlinkPriceTargetDigits(address)._token](lib/vault-v2/src/ReaperSwapper.sol#L333) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L333", + "id": "533159ba7d61d5fe5dfd676710c1ac88cf694c7032cc9afc20ed9b723401ae4e", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tokenIn", + "source_mapping": { + "start": 4145, + "length": 16, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 113 + ], + "starting_column": 33, + "ending_column": 49 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateVeloSwapPath", + "source_mapping": { + "start": 4117, + "length": 261, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateVeloSwapPath(address,address,address,IVeloRouter.Route[])" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._tokenIn (lib/vault-v2/src/ReaperSwapper.sol#113) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._tokenIn](lib/vault-v2/src/ReaperSwapper.sol#L113) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L113", + "id": "53551379c42ab3877e8ee97cac181c5347ef7b0683ebe22b81e5bd192559e10c", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 5777, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 157 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5629, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._router (lib/vault-v2/src/ReaperSwapper.sol#157) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._router](lib/vault-v2/src/ReaperSwapper.sol#L157) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L157", + "id": "5480cdf71bb4a1fc4bad960293c816fab6eae1f7b1db72dc13c46eecdff29942", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 8586, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 242 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._from (lib/vault-v2/src/ReaperSwapper.sol#242) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._from](lib/vault-v2/src/ReaperSwapper.sol#L242) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L242", + "id": "54eee96f636dcc23d413ad789f8cc37b37b3ceffbb301fcc7c20ef44f9fa8dd1", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__Ownable_init", + "source_mapping": { + "start": 1003, + "length": 95, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 29, + 30, + 31 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OwnableUpgradeable", + "source_mapping": { + "start": 708, + "length": 2445, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__Ownable_init()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function OwnableUpgradeable.__Ownable_init() (lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#29-31) is not in mixedCase\n", + "markdown": "Function [OwnableUpgradeable.__Ownable_init()](lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L29-L31) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L29-L31", + "id": "564a84db84ff90549701d9e3401970ecd35bb55e38a0ae2758178a34b03f99e8", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountToTriggerSwap", + "source_mapping": { + "start": 6542, + "length": 31, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 179 + ], + "starting_column": 40, + "ending_column": 71 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setMinAmountToTriggerSwap", + "source_mapping": { + "start": 6507, + "length": 152, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 179, + 180, + 181 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "setMinAmountToTriggerSwap(uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter DiscountExercise.setMinAmountToTriggerSwap(uint256)._minAmountToTriggerSwap (src/exercise/DiscountExercise.sol#179) is not in mixedCase\n", + "markdown": "Parameter [DiscountExercise.setMinAmountToTriggerSwap(uint256)._minAmountToTriggerSwap](src/exercise/DiscountExercise.sol#L179) is not in mixedCase\n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L179", + "id": "581d9756e46299b9236b584619603c7950d2a6ae937b632b19d6013c10199f9b", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "contract", + "name": "console", + "source_mapping": { + "start": 66, + "length": 66622, + "filename_relative": "lib/forge-std/src/console.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", + "filename_short": "lib/forge-std/src/console.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1032, + 1033, + 1034, + 1035, + 1036, + 1037, + 1038, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1046, + 1047, + 1048, + 1049, + 1050, + 1051, + 1052, + 1053, + 1054, + 1055, + 1056, + 1057, + 1058, + 1059, + 1060, + 1061, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074, + 1075, + 1076, + 1077, + 1078, + 1079, + 1080, + 1081, + 1082, + 1083, + 1084, + 1085, + 1086, + 1087, + 1088, + 1089, + 1090, + 1091, + 1092, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1137, + 1138, + 1139, + 1140, + 1141, + 1142, + 1143, + 1144, + 1145, + 1146, + 1147, + 1148, + 1149, + 1150, + 1151, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1173, + 1174, + 1175, + 1176, + 1177, + 1178, + 1179, + 1180, + 1181, + 1182, + 1183, + 1184, + 1185, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1205, + 1206, + 1207, + 1208, + 1209, + 1210, + 1211, + 1212, + 1213, + 1214, + 1215, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1222, + 1223, + 1224, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1243, + 1244, + 1245, + 1246, + 1247, + 1248, + 1249, + 1250, + 1251, + 1252, + 1253, + 1254, + 1255, + 1256, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1275, + 1276, + 1277, + 1278, + 1279, + 1280, + 1281, + 1282, + 1283, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1302, + 1303, + 1304, + 1305, + 1306, + 1307, + 1308, + 1309, + 1310, + 1311, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1318, + 1319, + 1320, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1334, + 1335, + 1336, + 1337, + 1338, + 1339, + 1340, + 1341, + 1342, + 1343, + 1344, + 1345, + 1346, + 1347, + 1348, + 1349, + 1350, + 1351, + 1352, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1366, + 1367, + 1368, + 1369, + 1370, + 1371, + 1372, + 1373, + 1374, + 1375, + 1376, + 1377, + 1378, + 1379, + 1380, + 1381, + 1382, + 1383, + 1384, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1403, + 1404, + 1405, + 1406, + 1407, + 1408, + 1409, + 1410, + 1411, + 1412, + 1413, + 1414, + 1415, + 1416, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1427, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1435, + 1436, + 1437, + 1438, + 1439, + 1440, + 1441, + 1442, + 1443, + 1444, + 1445, + 1446, + 1447, + 1448, + 1449, + 1450, + 1451, + 1452, + 1453, + 1454, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1467, + 1468, + 1469, + 1470, + 1471, + 1472, + 1473, + 1474, + 1475, + 1476, + 1477, + 1478, + 1479, + 1480, + 1481, + 1482, + 1483, + 1484, + 1485, + 1486, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1499, + 1500, + 1501, + 1502, + 1503, + 1504, + 1505, + 1506, + 1507, + 1508, + 1509, + 1510, + 1511, + 1512, + 1513, + 1514, + 1515, + 1516, + 1517, + 1518, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1525, + 1526, + 1527, + 1528, + 1529, + 1530, + 1531, + 1532, + 1533, + 1534 + ], + "starting_column": 1, + "ending_column": 0 + }, + "additional_fields": { + "target": "contract", + "convention": "CapWords" + } + } + ], + "description": "Contract console (lib/forge-std/src/console.sol#4-1534) is not in CapWords\n", + "markdown": "Contract [console](lib/forge-std/src/console.sol#L4-L1534) is not in CapWords\n", + "first_markdown_element": "lib/forge-std/src/console.sol#L4-L1534", + "id": "58c9dacc35a1219332b8b6ce561daac5384e938b9878894ede5d6cbaa444d455", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_feeRecipients", + "source_mapping": { + "start": 2183, + "length": 31, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 57 + ], + "starting_column": 22, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setFees", + "source_mapping": { + "start": 2166, + "length": 145, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 57, + 58, + 59 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "setFees(address[],uint256[])" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter BaseExercise.setFees(address[],uint256[])._feeRecipients (src/exercise/BaseExercise.sol#57) is not in mixedCase\n", + "markdown": "Parameter [BaseExercise.setFees(address[],uint256[])._feeRecipients](src/exercise/BaseExercise.sol#L57) is not in mixedCase\n", + "first_markdown_element": "src/exercise/BaseExercise.sol#L57", + "id": "5944f924de77c988f31b403664373f2876aff03596234cc58b4afadd8a71d5a9", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_deadline", + "source_mapping": { + "start": 5802, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 158 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5629, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._deadline (lib/vault-v2/src/ReaperSwapper.sol#158) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L158) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L158", + "id": "6071c207bea25fb7f9bb412b5de02629482e66a2117c5fa91626351e29e9b02e", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 7952, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 221 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7925, + "length": 321, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._from (lib/vault-v2/src/ReaperSwapper.sol#221) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._from](lib/vault-v2/src/ReaperSwapper.sol#L221) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L221", + "id": "623f5d19356fa7b9bd0ab5df0402fd1e4d7c09639f95e63a0a4209cc8cc8bdfd", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 3125, + "length": 25, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 94 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OwnableUpgradeable", + "source_mapping": { + "start": 708, + "length": 2445, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "variable", + "convention": "mixedCase" + } + } + ], + "description": "Variable OwnableUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#94) is not in mixedCase\n", + "markdown": "Variable [OwnableUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L94) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L94", + "id": "64595b3b974ce422ded6f4c3e75f4b8f263d80fe654b483274d85ea78d93515d", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 4729, + "length": 25, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "is_dependency": true, + "lines": [ + 107 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UUPSUpgradeable", + "source_mapping": { + "start": 928, + "length": 3829, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "variable", + "convention": "mixedCase" + } + } + ], + "description": "Variable UUPSUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#107) is not in mixedCase\n", + "markdown": "Variable [UUPSUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L107) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L107", + "id": "66e89635b3f1a39420c14852bce53cece9d715d261ed362fdfe323326d902681", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "struct", + "name": "Params__swapUniV3", + "source_mapping": { + "start": 925, + "length": 207, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "structure", + "convention": "CapWords" + } + } + ], + "description": "Struct UniV3Mixin.Params__swapUniV3 (lib/vault-v2/src/mixins/UniV3Mixin.sol#28-36) is not in CapWords\n", + "markdown": "Struct [UniV3Mixin.Params__swapUniV3](lib/vault-v2/src/mixins/UniV3Mixin.sol#L28-L36) is not in CapWords\n", + "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L28-L36", + "id": "686ea0a248be2f332d477f476112aafd31063649571e7caedc18a1f64cf140f3", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 4475, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 124 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateUniV3SwapPath", + "source_mapping": { + "start": 4384, + "length": 297, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateUniV3SwapPath(address,address,address,UniV3SwapData)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._router (lib/vault-v2/src/ReaperSwapper.sol#124) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._router](lib/vault-v2/src/ReaperSwapper.sol#L124) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L124", + "id": "6afae1f9d7e55e6076a51917ac9f65e8dead79697dd34ab763dc91b9bcb86e89", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tokenIn", + "source_mapping": { + "start": 4422, + "length": 16, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 122 + ], + "starting_column": 9, + "ending_column": 25 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateUniV3SwapPath", + "source_mapping": { + "start": 4384, + "length": 297, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateUniV3SwapPath(address,address,address,UniV3SwapData)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._tokenIn (lib/vault-v2/src/ReaperSwapper.sol#122) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._tokenIn](lib/vault-v2/src/ReaperSwapper.sol#L122) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L122", + "id": "72977cf6ba4408d54c36fec2d76a45624faa51193a45d346cfd1f506c3276687", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__ERC20_init_unchained", + "source_mapping": { + "start": 2267, + "length": 159, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 59, + 60, + 61, + 62 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC20Upgradeable", + "source_mapping": { + "start": 1480, + "length": 12159, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__ERC20_init_unchained(string,string)" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function ERC20Upgradeable.__ERC20_init_unchained(string,string) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#59-62) is not in mixedCase\n", + "markdown": "Function [ERC20Upgradeable.__ERC20_init_unchained(string,string)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L59-L62) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L59-L62", + "id": "74c629176a16cccc0c00bada69b465bc625751ea0b6a6c34a6948576e5a63d53", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 6876, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 190 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6781, + "length": 317, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#190) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L190) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L190", + "id": "7966fe16a7fae3142addfdb2c5631dc7af108f9a0556e7e6e462bc93b4b0fd6a", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 7500, + "length": 25, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 197 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC1967UpgradeUpgradeable", + "source_mapping": { + "start": 661, + "length": 6867, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "variable", + "convention": "mixedCase" + } + } + ], + "description": "Variable ERC1967UpgradeUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#197) is not in mixedCase\n", + "markdown": "Variable [ERC1967UpgradeUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L197) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L197", + "id": "7a925ee243c35fcbf7d26a13c9439f5f52653d41557544bf25a6dea8e1255a36", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 5680, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 154 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5629, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._to (lib/vault-v2/src/ReaperSwapper.sol#154) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._to](lib/vault-v2/src/ReaperSwapper.sol#L154) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L154", + "id": "7dd841bf64cae734263aa2ece5e257856fff5689200d9da336af8f149bc065d5", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 763, + "length": 15, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 20 + ], + "starting_column": 63, + "ending_column": 78 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "uniV3SwapPaths", + "source_mapping": { + "start": 705, + "length": 214, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "uniV3SwapPaths(address,address,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter UniV3Mixin.uniV3SwapPaths(address,address,address)._router (lib/vault-v2/src/mixins/UniV3Mixin.sol#20) is not in mixedCase\n", + "markdown": "Parameter [UniV3Mixin.uniV3SwapPaths(address,address,address)._router](lib/vault-v2/src/mixins/UniV3Mixin.sol#L20) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L20", + "id": "81b3767aefa146b755f320923f96e311ac717b193aade9ea9209fda84ec19507", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__ERC20_init", + "source_mapping": { + "start": 2114, + "length": 147, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 55, + 56, + 57 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC20Upgradeable", + "source_mapping": { + "start": 1480, + "length": 12159, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__ERC20_init(string,string)" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function ERC20Upgradeable.__ERC20_init(string,string) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#55-57) is not in mixedCase\n", + "markdown": "Function [ERC20Upgradeable.__ERC20_init(string,string)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L55-L57) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L55-L57", + "id": "8238dcf62f913fda66edd22ee2b08e732cfae65517418f334b31b357d5fb02c5", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 7996, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 223 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7925, + "length": 321, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._amount (lib/vault-v2/src/ReaperSwapper.sol#223) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._amount](lib/vault-v2/src/ReaperSwapper.sol#L223) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L223", + "id": "831ee570df860b35fb7432639868412b8f3a89a1e163b5e0301268d3d015656e", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_aggregator", + "source_mapping": { + "start": 4734, + "length": 19, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 131 + ], + "starting_column": 52, + "ending_column": 71 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateTokenAggregator", + "source_mapping": { + "start": 4687, + "length": 415, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateTokenAggregator(address,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateTokenAggregator(address,address,uint256)._aggregator (lib/vault-v2/src/ReaperSwapper.sol#131) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateTokenAggregator(address,address,uint256)._aggregator](lib/vault-v2/src/ReaperSwapper.sol#L131) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L131", + "id": "840fd0afa4bae92ba91f2c94e5ff241d7edf4411fba4ca97efa57208909748a1", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__ERC165_init_unchained", + "source_mapping": { + "start": 926, + "length": 68, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "is_dependency": true, + "lines": [ + 27, + 28 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC165Upgradeable", + "source_mapping": { + "start": 783, + "length": 736, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "is_dependency": true, + "lines": [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__ERC165_init_unchained()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function ERC165Upgradeable.__ERC165_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#27-28) is not in mixedCase\n", + "markdown": "Function [ERC165Upgradeable.__ERC165_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L27-L28) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L27-L28", + "id": "85d4e6d503145e70d4f27b51c03c2aecc7efa120329a4cf27b34d33cd9a2c942", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__Context_init_unchained", + "source_mapping": { + "start": 776, + "length": 69, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "is_dependency": true, + "lines": [ + 21, + 22 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ContextUpgradeable", + "source_mapping": { + "start": 651, + "length": 693, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "is_dependency": true, + "lines": [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__Context_init_unchained()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function ContextUpgradeable.__Context_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#21-22) is not in mixedCase\n", + "markdown": "Function [ContextUpgradeable.__Context_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L21-L22) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L21-L22", + "id": "8629c89abc9e568d22212182eb038287fc4f676ff34add41294173d644b25bcb", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_deadline", + "source_mapping": { + "start": 5281, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 145 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline (lib/vault-v2/src/ReaperSwapper.sol#145) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L145) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L145", + "id": "878d7b0eca406e6625010c6a919e75fb6d1f56a2908909128dca18ae1aaecf5c", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_swapProps", + "source_mapping": { + "start": 1131, + "length": 27, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 43 + ], + "starting_column": 30, + "ending_column": 57 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "configSwapProps", + "source_mapping": { + "start": 1106, + "length": 116, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 43, + 44, + 45 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SwapHelper", + "source_mapping": { + "start": 514, + "length": 3269, + "filename_relative": "src/helpers/SwapHelper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", + "filename_short": "src/helpers/SwapHelper.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "configSwapProps(SwapProps)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter SwapHelper.configSwapProps(SwapProps)._swapProps (src/helpers/SwapHelper.sol#43) is not in mixedCase\n", + "markdown": "Parameter [SwapHelper.configSwapProps(SwapProps)._swapProps](src/helpers/SwapHelper.sol#L43) is not in mixedCase\n", + "first_markdown_element": "src/helpers/SwapHelper.sol#L43", + "id": "898750aa30b4631541b715c67809ca54c02372e4e0ccd20753b470f5b41b4782", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_poolID", + "source_mapping": { + "start": 3947, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 105 + ], + "starting_column": 87, + "ending_column": 102 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateBalSwapPoolID", + "source_mapping": { + "start": 3865, + "length": 246, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateBalSwapPoolID(address,address,address,bytes32)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._poolID (lib/vault-v2/src/ReaperSwapper.sol#105) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._poolID](lib/vault-v2/src/ReaperSwapper.sol#L105) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L105", + "id": "89a0bb2c6892a624dc788cb6e8e64769ea25541c09632a7ea8008ed5bdc9a7ae", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 5136, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 140 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._from (lib/vault-v2/src/ReaperSwapper.sol#140) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._from](lib/vault-v2/src/ReaperSwapper.sol#L140) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L140", + "id": "8b2e8470f4f721b3150a1c59a12f20d495a62229f08f57ad6a1241fb1e3e63bc", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_vault", + "source_mapping": { + "start": 3931, + "length": 14, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 105 + ], + "starting_column": 71, + "ending_column": 85 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateBalSwapPoolID", + "source_mapping": { + "start": 3865, + "length": 246, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateBalSwapPoolID(address,address,address,bytes32)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._vault (lib/vault-v2/src/ReaperSwapper.sol#105) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._vault](lib/vault-v2/src/ReaperSwapper.sol#L105) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L105", + "id": "8f302417a05d05dface61ffead3912df0c2e77cae9168156e4852a782f626cc8", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__UUPSUpgradeable_init_unchained", + "source_mapping": { + "start": 1115, + "length": 77, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "is_dependency": true, + "lines": [ + 26, + 27 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UUPSUpgradeable", + "source_mapping": { + "start": 928, + "length": 3829, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__UUPSUpgradeable_init_unchained()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function UUPSUpgradeable.__UUPSUpgradeable_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#26-27) is not in mixedCase\n", + "markdown": "Function [UUPSUpgradeable.__UUPSUpgradeable_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L26-L27) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L26-L27", + "id": "8ff7b5e08e6880768da974c4a296eba4ffa484881ed81786ba37c7da4749321d", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 13611, + "length": 25, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 400 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC20Upgradeable", + "source_mapping": { + "start": 1480, + "length": 12159, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "variable", + "convention": "mixedCase" + } + } + ], + "description": "Variable ERC20Upgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#400) is not in mixedCase\n", + "markdown": "Variable [ERC20Upgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L400) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L400", + "id": "95b4f7519d8168eaf429605544f5939d63826ecdfb9fab9329b6802cbd21db77", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 5986, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 164 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5958, + "length": 302, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._from (lib/vault-v2/src/ReaperSwapper.sol#164) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._from](lib/vault-v2/src/ReaperSwapper.sol#L164) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L164", + "id": "965c50bc3502579539b688717ecbda0b6b92a00dcefa592b05ba22d7d6f5dc7a", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 7174, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 200 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 7104, + "length": 296, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._amount (lib/vault-v2/src/ReaperSwapper.sol#200) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._amount](lib/vault-v2/src/ReaperSwapper.sol#L200) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L200", + "id": "96acd18fdb2f87cce682dd1aeb785807b87ade0805721541764b40e73f657d86", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 9575, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 270 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 9427, + "length": 302, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._router (lib/vault-v2/src/ReaperSwapper.sol#270) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._router](lib/vault-v2/src/ReaperSwapper.sol#L270) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L270", + "id": "97ed856a66a6a89065949ce6d4ad5806ed079684926be9350c3dba02a3a1e5ff", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "source_mapping": { + "start": 2189, + "length": 60, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "is_dependency": true, + "lines": [ + 59 + ], + "starting_column": 5, + "ending_column": 65 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "IERC20Permit", + "source_mapping": { + "start": 620, + "length": 1631, + "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "DOMAIN_SEPARATOR()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function IERC20Permit.DOMAIN_SEPARATOR() (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#59) is not in mixedCase\n", + "markdown": "Function [IERC20Permit.DOMAIN_SEPARATOR()](lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L59) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L59", + "id": "9a77c79a6cf40e2f151723e49ba63d30100a56d0f72688e58cdf4a550a6ff843", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_guardian", + "source_mapping": { + "start": 3089, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 82 + ], + "starting_column": 56, + "ending_column": 73 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "initialize", + "source_mapping": { + "start": 3038, + "length": 562, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "initialize(address[],address,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.initialize(address[],address,address)._guardian (lib/vault-v2/src/ReaperSwapper.sol#82) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.initialize(address[],address,address)._guardian](lib/vault-v2/src/ReaperSwapper.sol#L82) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L82", + "id": "9efc132e350756a6688fb06dfbdfdae938d3f187fef09bcfb67ada2c12c55401", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 4182, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 113 + ], + "starting_column": 70, + "ending_column": 85 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateVeloSwapPath", + "source_mapping": { + "start": 4117, + "length": 261, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateVeloSwapPath(address,address,address,IVeloRouter.Route[])" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._router (lib/vault-v2/src/ReaperSwapper.sol#113) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._router](lib/vault-v2/src/ReaperSwapper.sol#L113) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L113", + "id": "a06f43ce8e70ce834616ed15245c980a2b8ec50e858262bb670d47c66306e2ea", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__AccessControl_init", + "source_mapping": { + "start": 2025, + "length": 65, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "is_dependency": true, + "lines": [ + 51, + 52 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AccessControlUpgradeable", + "source_mapping": { + "start": 1893, + "length": 6829, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__AccessControl_init()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function AccessControlUpgradeable.__AccessControl_init() (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#51-52) is not in mixedCase\n", + "markdown": "Function [AccessControlUpgradeable.__AccessControl_init()](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L51-L52) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L51-L52", + "id": "a333fa38b5f96027543bfa2131aac6765059644ab6c7dae2f8d357b5fbaa2f2b", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 6807, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 187 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6781, + "length": 317, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._from (lib/vault-v2/src/ReaperSwapper.sol#187) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._from](lib/vault-v2/src/ReaperSwapper.sol#L187) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L187", + "id": "a7cafc58416d57ab9a4fcb99a3a7f30607a640b40bcf1d16a52915f7849094bc", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 6315, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 175 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._to (lib/vault-v2/src/ReaperSwapper.sol#175) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._to](lib/vault-v2/src/ReaperSwapper.sol#L175) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L175", + "id": "ab2600b9834d875833f35b5332d32ef81c0bb2ac24c935e3830ff416c17fb322", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_isExercise", + "source_mapping": { + "start": 5123, + "length": 16, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 119 + ], + "starting_column": 52, + "ending_column": 68 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setExerciseContract", + "source_mapping": { + "start": 5076, + "length": 200, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 119, + 120, + 121, + 122 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "setExerciseContract(address,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter OptionsToken.setExerciseContract(address,bool)._isExercise (src/OptionsToken.sol#119) is not in mixedCase\n", + "markdown": "Parameter [OptionsToken.setExerciseContract(address,bool)._isExercise](src/OptionsToken.sol#L119) is not in mixedCase\n", + "first_markdown_element": "src/OptionsToken.sol#L119", + "id": "abd2279ff0a0f0ddae64db4fff77259f7bae0530f6d0414a9c41d6ac351ae4c7", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_timeout", + "source_mapping": { + "start": 4755, + "length": 16, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 131 + ], + "starting_column": 73, + "ending_column": 89 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateTokenAggregator", + "source_mapping": { + "start": 4687, + "length": 415, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateTokenAggregator(address,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateTokenAggregator(address,address,uint256)._timeout (lib/vault-v2/src/ReaperSwapper.sol#131) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateTokenAggregator(address,address,uint256)._timeout](lib/vault-v2/src/ReaperSwapper.sol#L131) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L131", + "id": "adab57ba054783590c54847af448ea7811b9803f2da1801c367d97d4deb0bc85", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "INITIAL_DOMAIN_SEPARATOR", + "source_mapping": { + "start": 1693, + "length": 51, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 43 + ], + "starting_column": 5, + "ending_column": 56 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC20", + "source_mapping": { + "start": 474, + "length": 6337, + "filename_relative": "lib/solmate/src/tokens/ERC20.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", + "filename_short": "lib/solmate/src/tokens/ERC20.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "variable", + "convention": "mixedCase" + } + } + ], + "description": "Variable ERC20.INITIAL_DOMAIN_SEPARATOR (lib/solmate/src/tokens/ERC20.sol#43) is not in mixedCase\n", + "markdown": "Variable [ERC20.INITIAL_DOMAIN_SEPARATOR](lib/solmate/src/tokens/ERC20.sol#L43) is not in mixedCase\n", + "first_markdown_element": "lib/solmate/src/tokens/ERC20.sol#L43", + "id": "ae4180282f395232843a4e6b84163b4ee953cbbcb818ea7075ed05f2dcf646c6", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 5701, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 155 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5629, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._amount (lib/vault-v2/src/ReaperSwapper.sol#155) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._amount](lib/vault-v2/src/ReaperSwapper.sol#L155) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L155", + "id": "af59693c738df45d04682c8e690c3cb70b1f7ae4cd02b04ef88723c8512974ff", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 7502, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 211 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#211) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L211) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L211", + "id": "b0d802f1835a6a50141a3c3cad24ceedce32ed7aafecd16fb3799ad01e781111", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 9126, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 255 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 9098, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._from (lib/vault-v2/src/ReaperSwapper.sol#255) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._from](lib/vault-v2/src/ReaperSwapper.sol#L255) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L255", + "id": "b466af7b150b5c595dbea4172eb5b58058eac1319629786026c6c34991a529b8", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tokenA", + "source_mapping": { + "start": 729, + "length": 15, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 20 + ], + "starting_column": 29, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "uniV3SwapPaths", + "source_mapping": { + "start": 705, + "length": 214, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniV3Mixin", + "source_mapping": { + "start": 269, + "length": 4771, + "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", + "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "uniV3SwapPaths(address,address,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter UniV3Mixin.uniV3SwapPaths(address,address,address)._tokenA (lib/vault-v2/src/mixins/UniV3Mixin.sol#20) is not in mixedCase\n", + "markdown": "Parameter [UniV3Mixin.uniV3SwapPaths(address,address,address)._tokenA](lib/vault-v2/src/mixins/UniV3Mixin.sol#L20) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L20", + "id": "b516ba65e9d50df8c481a3d485f057d04276e12596a303c1c3b03bcedea2fa4a", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 7153, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 199 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 7104, + "length": 296, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._to (lib/vault-v2/src/ReaperSwapper.sol#199) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._to](lib/vault-v2/src/ReaperSwapper.sol#L199) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L199", + "id": "b6c8ae681b26b155c022f33fbf1b061e5f28765aae067bd89844326397fc87a2", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 3008, + "length": 25, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 76 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AccessControlEnumerableUpgradeable", + "source_mapping": { + "start": 431, + "length": 2605, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "variable", + "convention": "mixedCase" + } + } + ], + "description": "Variable AccessControlEnumerableUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#76) is not in mixedCase\n", + "markdown": "Variable [AccessControlEnumerableUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L76) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L76", + "id": "bbb16c0dd495dfcbe2efc75d79bdea18fad2424d763b5456917a4f9ba68e140c", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__gap", + "source_mapping": { + "start": 1491, + "length": 25, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "is_dependency": true, + "lines": [ + 41 + ], + "starting_column": 5, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC165Upgradeable", + "source_mapping": { + "start": 783, + "length": 736, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "is_dependency": true, + "lines": [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "variable", + "convention": "mixedCase" + } + } + ], + "description": "Variable ERC165Upgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#41) is not in mixedCase\n", + "markdown": "Variable [ERC165Upgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L41) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L41", + "id": "bdc2d8e808ddb749222cd3ed859af1782e2e982c72c8164d541233f50dec05af", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__Ownable_init_unchained", + "source_mapping": { + "start": 1104, + "length": 111, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 33, + 34, + 35 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OwnableUpgradeable", + "source_mapping": { + "start": 708, + "length": 2445, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__Ownable_init_unchained()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function OwnableUpgradeable.__Ownable_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#33-35) is not in mixedCase\n", + "markdown": "Function [OwnableUpgradeable.__Ownable_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L33-L35) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L33-L35", + "id": "be1436ad6e7661ea17048b9b8432553bbd982a53256f0d44f0dddb582fee6a05", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_deadline", + "source_mapping": { + "start": 6436, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 179 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline (lib/vault-v2/src/ReaperSwapper.sol#179) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L179) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L179", + "id": "be279e16a979449d615e01c5f1b9240a112c2c4181f5d3ab033a2b58fa8bb14f", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 7456, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 209 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._to (lib/vault-v2/src/ReaperSwapper.sol#209) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._to](lib/vault-v2/src/ReaperSwapper.sol#L209) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L209", + "id": "bfd676c8349dabb5b01a6c154d45b647f52d93cc00f979b6c8878784a7b7eb77", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "__self", + "source_mapping": { + "start": 1289, + "length": 48, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "is_dependency": true, + "lines": [ + 29 + ], + "starting_column": 5, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UUPSUpgradeable", + "source_mapping": { + "start": 928, + "length": 3829, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + }, + "additional_fields": { + "target": "variable", + "convention": "mixedCase" + } + } + ], + "description": "Variable UUPSUpgradeable.__self (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#29) is not in mixedCase\n", + "markdown": "Variable [UUPSUpgradeable.__self](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L29) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L29", + "id": "bfe49cc9b28397f73932ef963ff532a1f0ce51ddd0b26dae025d661602049864", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 9499, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 268 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 9427, + "length": 302, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._amount (lib/vault-v2/src/ReaperSwapper.sol#268) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._amount](lib/vault-v2/src/ReaperSwapper.sol#L268) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L268", + "id": "c189e395c786c3b0719350511e8880bfffe15db6eea553df77bff74bf366946e", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__ERC1967Upgrade_init", + "source_mapping": { + "start": 749, + "length": 66, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 22, + 23 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC1967UpgradeUpgradeable", + "source_mapping": { + "start": 661, + "length": 6867, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__ERC1967Upgrade_init()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init() (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#22-23) is not in mixedCase\n", + "markdown": "Function [ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init()](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L22-L23) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L22-L23", + "id": "c342a80969d569f908a2cc5e14462dacdf5979e90597c95494a7518ab22ac361", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 7477, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 210 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount (lib/vault-v2/src/ReaperSwapper.sol#210) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount](lib/vault-v2/src/ReaperSwapper.sol#L210) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L210", + "id": "c36595904f67f151274482257e034c6d4e99f7a12addf42daff19757016f42ae", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__AccessControlEnumerable_init_unchained", + "source_mapping": { + "start": 651, + "length": 85, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 18, + 19 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AccessControlEnumerableUpgradeable", + "source_mapping": { + "start": 431, + "length": 2605, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__AccessControlEnumerable_init_unchained()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function AccessControlEnumerableUpgradeable.__AccessControlEnumerable_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#18-19) is not in mixedCase\n", + "markdown": "Function [AccessControlEnumerableUpgradeable.__AccessControlEnumerable_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L18-L19) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L18-L19", + "id": "c5433a1d1949676dc711bcf3160f2439533f345ad44396e69fa216e8565cad1e", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_feeBPS", + "source_mapping": { + "start": 2216, + "length": 24, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 57 + ], + "starting_column": 55, + "ending_column": 79 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setFees", + "source_mapping": { + "start": 2166, + "length": 145, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 57, + 58, + 59 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "BaseExercise", + "source_mapping": { + "start": 432, + "length": 3936, + "filename_relative": "src/exercise/BaseExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", + "filename_short": "src/exercise/BaseExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "setFees(address[],uint256[])" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter BaseExercise.setFees(address[],uint256[])._feeBPS (src/exercise/BaseExercise.sol#57) is not in mixedCase\n", + "markdown": "Parameter [BaseExercise.setFees(address[],uint256[])._feeBPS](src/exercise/BaseExercise.sol#L57) is not in mixedCase\n", + "first_markdown_element": "src/exercise/BaseExercise.sol#L57", + "id": "c5acfac490821733b96f3b7cb66bd64210e4d6f82651bab766aab5209e8c5324", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "UNSAFE_swapExactTokensForTokens", + "source_mapping": { + "start": 12674, + "length": 196, + "filename_relative": "lib/vault-v2/src/interfaces/IVeloRouter.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloRouter.sol", + "filename_short": "lib/vault-v2/src/interfaces/IVeloRouter.sol", + "is_dependency": true, + "lines": [ + 294, + 295, + 296, + 297, + 298, + 299 + ], + "starting_column": 5, + "ending_column": 43 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "IVeloRouter", + "source_mapping": { + "start": 227, + "length": 20282, + "filename_relative": "lib/vault-v2/src/interfaces/IVeloRouter.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloRouter.sol", + "filename_short": "lib/vault-v2/src/interfaces/IVeloRouter.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "UNSAFE_swapExactTokensForTokens(uint256[],IVeloRouter.Route[],address,uint256)" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function IVeloRouter.UNSAFE_swapExactTokensForTokens(uint256[],IVeloRouter.Route[],address,uint256) (lib/vault-v2/src/interfaces/IVeloRouter.sol#294-299) is not in mixedCase\n", + "markdown": "Function [IVeloRouter.UNSAFE_swapExactTokensForTokens(uint256[],IVeloRouter.Route[],address,uint256)](lib/vault-v2/src/interfaces/IVeloRouter.sol#L294-L299) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/interfaces/IVeloRouter.sol#L294-L299", + "id": "c84ed24d6caec5fb3fc2d28fc3e2c44242050d098a6626fd7b69c847d5d534a6", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 7433, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 208 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._from (lib/vault-v2/src/ReaperSwapper.sol#208) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._from](lib/vault-v2/src/ReaperSwapper.sol#L208) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L208", + "id": "ca06b4f3961de5f5ca9c9c964e4b25c5f6fb7d6cf7cc27fe3001bbb89c74675f", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__UUPSUpgradeable_init", + "source_mapping": { + "start": 1042, + "length": 67, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "is_dependency": true, + "lines": [ + 23, + 24 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UUPSUpgradeable", + "source_mapping": { + "start": 928, + "length": 3829, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__UUPSUpgradeable_init()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function UUPSUpgradeable.__UUPSUpgradeable_init() (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#23-24) is not in mixedCase\n", + "markdown": "Function [UUPSUpgradeable.__UUPSUpgradeable_init()](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L23-L24) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L23-L24", + "id": "cb76c4a025b81b1d34120a39f72a25e8426de1c2f55fbd29d6a5eb8442335219", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 8302, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 233 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 8252, + "length": 300, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._to (lib/vault-v2/src/ReaperSwapper.sol#233) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._to](lib/vault-v2/src/ReaperSwapper.sol#L233) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L233", + "id": "cc2c2d13c5fc96bbb8c8f183cd598ce40909b38213e3148d1f4410feedcdfbf9", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_i", + "source_mapping": { + "start": 302, + "length": 10, + "filename_relative": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "filename_short": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "is_dependency": true, + "lines": [ + 11 + ], + "starting_column": 27, + "ending_column": 37 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "uncheckedInc", + "source_mapping": { + "start": 280, + "length": 130, + "filename_relative": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "filename_short": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "is_dependency": true, + "lines": [ + 11, + 12, + 13, + 14, + 15 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperMathUtils", + "source_mapping": { + "start": 63, + "length": 349, + "filename_relative": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "filename_short": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", + "is_dependency": true, + "lines": [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "uncheckedInc(uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperMathUtils.uncheckedInc(uint256)._i (lib/vault-v2/src/libraries/ReaperMathUtils.sol#11) is not in mixedCase\n", + "markdown": "Parameter [ReaperMathUtils.uncheckedInc(uint256)._i](lib/vault-v2/src/libraries/ReaperMathUtils.sol#L11) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/libraries/ReaperMathUtils.sol#L11", + "id": "cd8dd23a87dae4ac1b0ac22762f0d6ca9a11107161eb11ecc8559a52962999da", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 6830, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 188 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6781, + "length": 317, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._to (lib/vault-v2/src/ReaperSwapper.sol#188) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._to](lib/vault-v2/src/ReaperSwapper.sol#L188) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L188", + "id": "ce9e771782f69e8d3da763e8d0e5d55510b3673e5af35d5030cd3e1f607f698e", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_deadline", + "source_mapping": { + "start": 6951, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 192 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6781, + "length": 317, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._deadline (lib/vault-v2/src/ReaperSwapper.sol#192) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L192) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L192", + "id": "d096162e89d285c6f6eacc550d68dd7057cd03ed9fdd2fbee53da1dacff60853", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 8348, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 235 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 8252, + "length": 300, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#235) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L235) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L235", + "id": "d400a010cfc54a36c2bbabf0d7fedd1ab9a7387ba1f4017fe16eac3e6d19092e", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_vault", + "source_mapping": { + "start": 7250, + "length": 14, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 202 + ], + "starting_column": 9, + "ending_column": 23 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 7104, + "length": 296, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._vault (lib/vault-v2/src/ReaperSwapper.sol#202) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._vault](lib/vault-v2/src/ReaperSwapper.sol#L202) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L202", + "id": "d4fceacb95f86ee83b4bf85da0582077c266098f97e1ce7dbaec2b59cdcef204", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "WETH", + "source_mapping": { + "start": 153, + "length": 48, + "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "is_dependency": true, + "lines": [ + 7 + ], + "starting_column": 5, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "IUniswapV2Router01", + "source_mapping": { + "start": 61, + "length": 3950, + "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "WETH()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function IUniswapV2Router01.WETH() (lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#7) is not in mixedCase\n", + "markdown": "Function [IUniswapV2Router01.WETH()](lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#L7) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#L7", + "id": "d51441d319d7710ff998d12e83899a9d644921d950f639a7b86fcc4ddf61e63a", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 8706, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 246 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._router (lib/vault-v2/src/ReaperSwapper.sol#246) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._router](lib/vault-v2/src/ReaperSwapper.sol#L246) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L246", + "id": "d6dabfed2329ec05b9b11ef9c0aa939f5f9548e1243ac69e7908749887d95f3b", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 5726, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 156 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5629, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#156) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L156) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L156", + "id": "dcc6a654dccf15314a4bd6d18240796b3d5a90ad0965512db30fb29fc2d69f4f", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 6055, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 167 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5958, + "length": 302, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#167) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L167) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L167", + "id": "deeadcde9d8d2a903c85c3e2c9ba0e8b3609ceddae1916e3766e5c84b22c466a", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 5205, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 143 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5108, + "length": 515, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#143) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L143) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L143", + "id": "e10ef44a86a407b93bfe33cf20782ef285fd9eb4af3c33bc2e14261b516c0038", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_superAdmin", + "source_mapping": { + "start": 3108, + "length": 19, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 82 + ], + "starting_column": 75, + "ending_column": 94 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "initialize", + "source_mapping": { + "start": 3038, + "length": 562, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "initialize(address[],address,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.initialize(address[],address,address)._superAdmin (lib/vault-v2/src/ReaperSwapper.sol#82) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.initialize(address[],address,address)._superAdmin](lib/vault-v2/src/ReaperSwapper.sol#L82) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L82", + "id": "e1f9cb8188c7d2a47d6d3f5f2abd12779ea61cb7f5df57014d8b381dd18519f4", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 9170, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 257 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 9098, + "length": 323, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._amount (lib/vault-v2/src/ReaperSwapper.sol#257) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._amount](lib/vault-v2/src/ReaperSwapper.sol#L257) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L257", + "id": "e372392e376217b031464798d9d6768c25b19113dd6cb6674fa902715063982f", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 6292, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 174 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._from (lib/vault-v2/src/ReaperSwapper.sol#174) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._from](lib/vault-v2/src/ReaperSwapper.sol#L174) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L174", + "id": "e41b000f65857a61219c2dc0b5d0f4bd15cf77d9dc70e29235aac4739efc28ee", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_address", + "source_mapping": { + "start": 5105, + "length": 16, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 119 + ], + "starting_column": 34, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setExerciseContract", + "source_mapping": { + "start": 5076, + "length": 200, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 119, + 120, + 121, + 122 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "OptionsToken", + "source_mapping": { + "start": 691, + "length": 7138, + "filename_relative": "src/OptionsToken.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", + "filename_short": "src/OptionsToken.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "setExerciseContract(address,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter OptionsToken.setExerciseContract(address,bool)._address (src/OptionsToken.sol#119) is not in mixedCase\n", + "markdown": "Parameter [OptionsToken.setExerciseContract(address,bool)._address](src/OptionsToken.sol#L119) is not in mixedCase\n", + "first_markdown_element": "src/OptionsToken.sol#L119", + "id": "e4c0233eb5b643def437c9c1f7c6853aa2f1fea782bfadf846c2fcb8c3819ad4", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tokenIn", + "source_mapping": { + "start": 3894, + "length": 16, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 105 + ], + "starting_column": 34, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateBalSwapPoolID", + "source_mapping": { + "start": 3865, + "length": 246, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateBalSwapPoolID(address,address,address,bytes32)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._tokenIn (lib/vault-v2/src/ReaperSwapper.sol#105) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._tokenIn](lib/vault-v2/src/ReaperSwapper.sol#L105) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L105", + "id": "e4c97d884fbc8ebc6174dbb08f7148ca0d5d354bbd7673b33287963362a75fac", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 8072, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 225 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7925, + "length": 321, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._router (lib/vault-v2/src/ReaperSwapper.sol#225) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._router](lib/vault-v2/src/ReaperSwapper.sol#L225) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L225", + "id": "e7849af7604ed52e3aba5cc48333f0e4e71b99a0c0eead2614dad5ee6a834648", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 6851, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 189 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6781, + "length": 317, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._amount (lib/vault-v2/src/ReaperSwapper.sol#189) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._amount](lib/vault-v2/src/ReaperSwapper.sol#L189) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L189", + "id": "ebf15d601b456582fb3fb1f26bfd7094936b95bf6bab66e069b0c047b066a470", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__Context_init", + "source_mapping": { + "start": 711, + "length": 59, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "is_dependency": true, + "lines": [ + 18, + 19 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ContextUpgradeable", + "source_mapping": { + "start": 651, + "length": 693, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", + "is_dependency": true, + "lines": [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__Context_init()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function ContextUpgradeable.__Context_init() (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#18-19) is not in mixedCase\n", + "markdown": "Function [ContextUpgradeable.__Context_init()](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L18-L19) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L18-L19", + "id": "ec47067e22967ab37ddb79c5eae4c225b0c9f1e4e15f1452db70b0a6f86103e0", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_from", + "source_mapping": { + "start": 7130, + "length": 13, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 198 + ], + "starting_column": 9, + "ending_column": 22 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 7104, + "length": 296, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._from (lib/vault-v2/src/ReaperSwapper.sol#198) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._from](lib/vault-v2/src/ReaperSwapper.sol#L198) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L198", + "id": "ee09748ad580f1e17ba44ec7063a9e46e48e09f119e406c49bc6f27fbc52333c", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__AccessControlEnumerable_init", + "source_mapping": { + "start": 570, + "length": 75, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 15, + 16 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AccessControlEnumerableUpgradeable", + "source_mapping": { + "start": 431, + "length": 2605, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__AccessControlEnumerable_init()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function AccessControlEnumerableUpgradeable.__AccessControlEnumerable_init() (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#15-16) is not in mixedCase\n", + "markdown": "Function [AccessControlEnumerableUpgradeable.__AccessControlEnumerable_init()](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L15-L16) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L15-L16", + "id": "ef5d0800c6abeec9cf95ba22a2b5356b466e7266ac453d3ed2d8d6715e2a485d", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tokenOut", + "source_mapping": { + "start": 4448, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 123 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateUniV3SwapPath", + "source_mapping": { + "start": 4384, + "length": 297, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateUniV3SwapPath(address,address,address,UniV3SwapData)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._tokenOut (lib/vault-v2/src/ReaperSwapper.sol#123) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._tokenOut](lib/vault-v2/src/ReaperSwapper.sol#L123) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L123", + "id": "ef7fda16f5ed14577f83309fd8ecabd89b0ebc40bb57a21ff7f6bb30ca604ded", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 7975, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 222 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7925, + "length": 321, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._to (lib/vault-v2/src/ReaperSwapper.sol#222) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._to](lib/vault-v2/src/ReaperSwapper.sol#L222) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L222", + "id": "ef99c641c2dfab7b1d3b3387d2ee29b8c2fe143b6573293aa82a96d9e24c4ed8", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "__ERC165_init", + "source_mapping": { + "start": 862, + "length": 58, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "is_dependency": true, + "lines": [ + 24, + 25 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ERC165Upgradeable", + "source_mapping": { + "start": 783, + "length": 736, + "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", + "is_dependency": true, + "lines": [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "__ERC165_init()" + }, + "additional_fields": { + "target": "function", + "convention": "mixedCase" + } + } + ], + "description": "Function ERC165Upgradeable.__ERC165_init() (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#24-25) is not in mixedCase\n", + "markdown": "Function [ERC165Upgradeable.__ERC165_init()](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L24-L25) is not in mixedCase\n", + "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L24-L25", + "id": "f226b70c0c428d938e421293c43b68d973d744168b94b568e0deb7b189c26f50", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tryCatchActive", + "source_mapping": { + "start": 7605, + "length": 20, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 214 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapVelo", + "source_mapping": { + "start": 7406, + "length": 513, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive (lib/vault-v2/src/ReaperSwapper.sol#214) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive](lib/vault-v2/src/ReaperSwapper.sol#L214) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L214", + "id": "f3b862d7b6a4c0d902c5505fa61fe589c65b1853823797fa41ecacdd2d9ea250", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_to", + "source_mapping": { + "start": 8609, + "length": 11, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 243 + ], + "starting_column": 9, + "ending_column": 20 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._to (lib/vault-v2/src/ReaperSwapper.sol#243) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._to](lib/vault-v2/src/ReaperSwapper.sol#L243) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L243", + "id": "f5ac32f324cb58d5086f8317679267d629598a093f9744b805224745cd6a4a98", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tokenOut", + "source_mapping": { + "start": 3912, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 105 + ], + "starting_column": 52, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateBalSwapPoolID", + "source_mapping": { + "start": 3865, + "length": 246, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 105, + 106, + 107, + 108, + 109, + 110, + 111 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateBalSwapPoolID(address,address,address,bytes32)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._tokenOut (lib/vault-v2/src/ReaperSwapper.sol#105) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._tokenOut](lib/vault-v2/src/ReaperSwapper.sol#L105) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L105", + "id": "f6df1545fe7e00b5fd2a959284fe6088686751e8c7cc23f57a5cd452cf1d1e58", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_minAmountOutData", + "source_mapping": { + "start": 6361, + "length": 41, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 177 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#177) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L177) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L177", + "id": "f6f24fbb241e4df38de4d7a6812d9589f5ef7dfbf4d14334b09a01a8f35c5d51", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_vault", + "source_mapping": { + "start": 6412, + "length": 14, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 178 + ], + "starting_column": 9, + "ending_column": 23 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._vault (lib/vault-v2/src/ReaperSwapper.sol#178) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._vault](lib/vault-v2/src/ReaperSwapper.sol#L178) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L178", + "id": "f95934574f1bf834e84810d59234ad1a34504a4e9db16b4ca5622230997341d5", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_strategists", + "source_mapping": { + "start": 3058, + "length": 29, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 82 + ], + "starting_column": 25, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "initialize", + "source_mapping": { + "start": 3038, + "length": 562, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "initialize(address[],address,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.initialize(address[],address,address)._strategists (lib/vault-v2/src/ReaperSwapper.sol#82) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.initialize(address[],address,address)._strategists](lib/vault-v2/src/ReaperSwapper.sol#L82) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L82", + "id": "f96d266d8b1835f94a34c648dc6724dfc7f543cfa8fa4a7e942b121681eab748", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_router", + "source_mapping": { + "start": 6106, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 168 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV2", + "source_mapping": { + "start": 5958, + "length": 302, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._router (lib/vault-v2/src/ReaperSwapper.sol#168) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._router](lib/vault-v2/src/ReaperSwapper.sol#L168) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L168", + "id": "fa6dcd2f29fbd832c383ff7357c474e98aba7ad3fe37aa86aa8c26cf32c98cb8", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tryCatchActive", + "source_mapping": { + "start": 6463, + "length": 20, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 180 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6266, + "length": 509, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive (lib/vault-v2/src/ReaperSwapper.sol#180) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive](lib/vault-v2/src/ReaperSwapper.sol#L180) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L180", + "id": "fe29d9bfd86c06851a2a3e1b3c0db25699abadca8db8b78c71ae875293417d86", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_instantExitFee", + "source_mapping": { + "start": 6185, + "length": 23, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 168 + ], + "starting_column": 32, + "ending_column": 55 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setInstantExitFee", + "source_mapping": { + "start": 6158, + "length": 123, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 168, + 169, + 170 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DiscountExercise", + "source_mapping": { + "start": 1052, + "length": 9969, + "filename_relative": "src/exercise/DiscountExercise.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", + "filename_short": "src/exercise/DiscountExercise.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "setInstantExitFee(uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter DiscountExercise.setInstantExitFee(uint256)._instantExitFee (src/exercise/DiscountExercise.sol#168) is not in mixedCase\n", + "markdown": "Parameter [DiscountExercise.setInstantExitFee(uint256)._instantExitFee](src/exercise/DiscountExercise.sol#L168) is not in mixedCase\n", + "first_markdown_element": "src/exercise/DiscountExercise.sol#L168", + "id": "ff1617a3413fc4e31072073ea6fc5e0e9bf4ead3476a5cb3e755d52d77461b93", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_tokenOut", + "source_mapping": { + "start": 4163, + "length": 17, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 113 + ], + "starting_column": 51, + "ending_column": 68 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateVeloSwapPath", + "source_mapping": { + "start": 4117, + "length": 261, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "updateVeloSwapPath(address,address,address,IVeloRouter.Route[])" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._tokenOut (lib/vault-v2/src/ReaperSwapper.sol#113) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._tokenOut](lib/vault-v2/src/ReaperSwapper.sol#L113) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L113", + "id": "ff85b7c367841884a8674d678ffff63e31caeb488f05d941ec34479fd6baf50c", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_vault", + "source_mapping": { + "start": 6927, + "length": 14, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 191 + ], + "starting_column": 9, + "ending_column": 23 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapBal", + "source_mapping": { + "start": 6781, + "length": 317, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._vault (lib/vault-v2/src/ReaperSwapper.sol#191) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._vault](lib/vault-v2/src/ReaperSwapper.sol#L191) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L191", + "id": "ffc2ede031c84d632d708b92ea1e8bcb081c69066ff3fcc008d2e6cd01e71788", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_amount", + "source_mapping": { + "start": 8630, + "length": 15, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 244 + ], + "starting_column": 9, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "swapUniV3", + "source_mapping": { + "start": 8558, + "length": 534, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ReaperSwapper", + "source_mapping": { + "start": 705, + "length": 19366, + "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", + "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", + "is_dependency": true, + "lines": [ + 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, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" + } + } + }, + "additional_fields": { + "target": "parameter", + "convention": "mixedCase" + } + } + ], + "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount (lib/vault-v2/src/ReaperSwapper.sol#244) is not in mixedCase\n", + "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount](lib/vault-v2/src/ReaperSwapper.sol#L244) is not in mixedCase\n", + "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L244", + "id": "ffe58a8a038564f540670c2f6b6c6fa52d43784115d341afa1eba179df2efe8b", + "check": "naming-convention", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 5746, + "length": 3396, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + }, + { + "type": "node", + "name": "! y_sqrt_asm_0 < 0x1000000000000000000", + "source_mapping": { + "start": 6558, + "length": 119, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 180, + 181, + 182, + 183 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 5746, + "length": 3396, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.sqrt(uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#164-227) uses literals with too many digits:\n\t- ! y_sqrt_asm_0 < 0x1000000000000000000 (lib/solmate/src/utils/FixedPointMathLib.sol#180-183)\n", + "markdown": "[FixedPointMathLib.sqrt(uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227) uses literals with too many digits:\n\t- [! y_sqrt_asm_0 < 0x1000000000000000000](lib/solmate/src/utils/FixedPointMathLib.sol#L180-L183)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227", + "id": "0a819fb5f92a6f6a7948d6198a20a71e9693691c915fd452e5b41729e13b3356", + "check": "too-many-digits", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 5746, + "length": 3396, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + }, + { + "type": "node", + "name": "! y_sqrt_asm_0 < 0x10000000000000000000000000000000000", + "source_mapping": { + "start": 6409, + "length": 136, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 176, + 177, + 178, + 179 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 5746, + "length": 3396, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.sqrt(uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#164-227) uses literals with too many digits:\n\t- ! y_sqrt_asm_0 < 0x10000000000000000000000000000000000 (lib/solmate/src/utils/FixedPointMathLib.sol#176-179)\n", + "markdown": "[FixedPointMathLib.sqrt(uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227) uses literals with too many digits:\n\t- [! y_sqrt_asm_0 < 0x10000000000000000000000000000000000](lib/solmate/src/utils/FixedPointMathLib.sol#L176-L179)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227", + "id": "1356e20c62f39f7e407734298d046498a04468c6b830d2e9f2d11b012ceb8af6", + "check": "too-many-digits", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 5746, + "length": 3396, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + }, + { + "type": "node", + "name": "! y_sqrt_asm_0 < 0x10000000000", + "source_mapping": { + "start": 6690, + "length": 111, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 184, + 185, + 186, + 187 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 5746, + "length": 3396, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.sqrt(uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#164-227) uses literals with too many digits:\n\t- ! y_sqrt_asm_0 < 0x10000000000 (lib/solmate/src/utils/FixedPointMathLib.sol#184-187)\n", + "markdown": "[FixedPointMathLib.sqrt(uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227) uses literals with too many digits:\n\t- [! y_sqrt_asm_0 < 0x10000000000](lib/solmate/src/utils/FixedPointMathLib.sol#L184-L187)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227", + "id": "4547466ed7b7e6105f203a76bcd6ab35e0154e0fc16f7c2ed0cf4f753cbcbb6d", + "check": "too-many-digits", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + }, + { + "type": "node", + "name": "ratio = 0x100000000000000000000000000000000", + "source_mapping": { + "start": 1659, + "length": 141, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 31, + 32, + 33 + ], + "starting_column": 13, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "getSqrtRatioAtTick", + "source_mapping": { + "start": 1385, + "length": 2759, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TickMath", + "source_mapping": { + "start": 305, + "length": 9112, + "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", + "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "getSqrtRatioAtTick(int24)" + } + } + } + } + ], + "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) uses literals with too many digits:\n\t- ratio = 0x100000000000000000000000000000000 (lib/v3-core/contracts/libraries/TickMath.sol#31-33)\n", + "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) uses literals with too many digits:\n\t- [ratio = 0x100000000000000000000000000000000](lib/v3-core/contracts/libraries/TickMath.sol#L31-L33)\n", + "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", + "id": "756616de9aca12ab02acf2bbcd459f0074cea7de1b8fbd815a63cf4473e1d454", + "check": "too-many-digits", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 373, + "length": 1221, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Babylonian", + "source_mapping": { + "start": 201, + "length": 1395, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + }, + { + "type": "node", + "name": "xx >= 0x100000000000000000000000000000000", + "source_mapping": { + "start": 697, + "length": 41, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 18 + ], + "starting_column": 13, + "ending_column": 54 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 373, + "length": 1221, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Babylonian", + "source_mapping": { + "start": 201, + "length": 1395, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + } + } + } + ], + "description": "Babylonian.sqrt(uint256) (lib/vault-v2/src/libraries/Babylonian.sol#10-54) uses literals with too many digits:\n\t- xx >= 0x100000000000000000000000000000000 (lib/vault-v2/src/libraries/Babylonian.sol#18)\n", + "markdown": "[Babylonian.sqrt(uint256)](lib/vault-v2/src/libraries/Babylonian.sol#L10-L54) uses literals with too many digits:\n\t- [xx >= 0x100000000000000000000000000000000](lib/vault-v2/src/libraries/Babylonian.sol#L18)\n", + "first_markdown_element": "lib/vault-v2/src/libraries/Babylonian.sol#L10-L54", + "id": "a0fba3455384ac1e6d71c40190239592f39a24734f29beb5951cfa0d1eac9cca", + "check": "too-many-digits", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 373, + "length": 1221, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Babylonian", + "source_mapping": { + "start": 201, + "length": 1395, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + }, + { + "type": "node", + "name": "xx >= 0x10000000000000000", + "source_mapping": { + "start": 810, + "length": 25, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 22 + ], + "starting_column": 13, + "ending_column": 38 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 373, + "length": 1221, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Babylonian", + "source_mapping": { + "start": 201, + "length": 1395, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + } + } + } + ], + "description": "Babylonian.sqrt(uint256) (lib/vault-v2/src/libraries/Babylonian.sol#10-54) uses literals with too many digits:\n\t- xx >= 0x10000000000000000 (lib/vault-v2/src/libraries/Babylonian.sol#22)\n", + "markdown": "[Babylonian.sqrt(uint256)](lib/vault-v2/src/libraries/Babylonian.sol#L10-L54) uses literals with too many digits:\n\t- [xx >= 0x10000000000000000](lib/vault-v2/src/libraries/Babylonian.sol#L22)\n", + "first_markdown_element": "lib/vault-v2/src/libraries/Babylonian.sol#L10-L54", + "id": "e5cea88aa35e144390464a50cd74e5ef0814fa17832eaacde7698aa0a1c5c98f", + "check": "too-many-digits", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 373, + "length": 1221, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Babylonian", + "source_mapping": { + "start": 201, + "length": 1395, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + }, + { + "type": "node", + "name": "xx >= 0x100000000", + "source_mapping": { + "start": 906, + "length": 17, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 26 + ], + "starting_column": 13, + "ending_column": 30 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 373, + "length": 1221, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "Babylonian", + "source_mapping": { + "start": 201, + "length": 1395, + "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", + "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + } + } + } + ], + "description": "Babylonian.sqrt(uint256) (lib/vault-v2/src/libraries/Babylonian.sol#10-54) uses literals with too many digits:\n\t- xx >= 0x100000000 (lib/vault-v2/src/libraries/Babylonian.sol#26)\n", + "markdown": "[Babylonian.sqrt(uint256)](lib/vault-v2/src/libraries/Babylonian.sol#L10-L54) uses literals with too many digits:\n\t- [xx >= 0x100000000](lib/vault-v2/src/libraries/Babylonian.sol#L26)\n", + "first_markdown_element": "lib/vault-v2/src/libraries/Babylonian.sol#L10-L54", + "id": "e8d06912ce8ea156a58638083700c8eb9591c4bd2968b12ff93038bc775de738", + "check": "too-many-digits", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 5746, + "length": 3396, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + }, + { + "type": "node", + "name": "! y_sqrt_asm_0 < 0x1000000", + "source_mapping": { + "start": 6814, + "length": 106, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 188, + 189, + 190, + 191 + ], + "starting_column": 13, + "ending_column": 14 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "sqrt", + "source_mapping": { + "start": 5746, + "length": 3396, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "FixedPointMathLib", + "source_mapping": { + "start": 341, + "length": 9712, + "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", + "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", + "is_dependency": true, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "sqrt(uint256)" + } + } + } + } + ], + "description": "FixedPointMathLib.sqrt(uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#164-227) uses literals with too many digits:\n\t- ! y_sqrt_asm_0 < 0x1000000 (lib/solmate/src/utils/FixedPointMathLib.sol#188-191)\n", + "markdown": "[FixedPointMathLib.sqrt(uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227) uses literals with too many digits:\n\t- [! y_sqrt_asm_0 < 0x1000000](lib/solmate/src/utils/FixedPointMathLib.sol#L188-L191)\n", + "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227", + "id": "f28694d3e6e5fcf9a2f3366378ebef6a30892b6367b9ade09d2faca0f8828b17", + "check": "too-many-digits", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [], + "description": "The following unused import(s) in src/helpers/SwapHelper.sol should be removed:\n\t-import \"forge-std/console.sol\"; (src/helpers/SwapHelper.sol#9)\n", + "markdown": "The following unused import(s) in src/helpers/SwapHelper.sol should be removed:\n\t-import \"forge-std/console.sol\"; (src/helpers/SwapHelper.sol#9)\n", + "first_markdown_element": "", + "id": "6f50be6825ed38206d4fb51dd6876afc1476363bb114f0ef2ebff4c45cde45e0", + "check": "unused-import", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "isToken0", + "source_mapping": { + "start": 2441, + "length": 20, + "filename_relative": "src/oracles/ThenaOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/ThenaOracle.sol", + "filename_short": "src/oracles/ThenaOracle.sol", + "is_dependency": false, + "lines": [ + 60 + ], + "starting_column": 5, + "ending_column": 25 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "ThenaOracle", + "source_mapping": { + "start": 587, + "length": 5996, + "filename_relative": "src/oracles/ThenaOracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/ThenaOracle.sol", + "filename_short": "src/oracles/ThenaOracle.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "ThenaOracle.isToken0 (src/oracles/ThenaOracle.sol#60) should be immutable \n", + "markdown": "[ThenaOracle.isToken0](src/oracles/ThenaOracle.sol#L60) should be immutable \n", + "first_markdown_element": "src/oracles/ThenaOracle.sol#L60", + "id": "e0b61928eb6070b87873ce63ac8b19811c80ba5bc00753317605d06c2cac17ae", + "check": "immutable-states", + "impact": "Optimization", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "isToken0", + "source_mapping": { + "start": 2701, + "length": 20, + "filename_relative": "src/oracles/UniswapV3Oracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", + "filename_short": "src/oracles/UniswapV3Oracle.sol", + "is_dependency": false, + "lines": [ + 65 + ], + "starting_column": 5, + "ending_column": 25 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "UniswapV3Oracle", + "source_mapping": { + "start": 729, + "length": 6210, + "filename_relative": "src/oracles/UniswapV3Oracle.sol", + "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", + "filename_short": "src/oracles/UniswapV3Oracle.sol", + "is_dependency": false, + "lines": [ + 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 + ], + "starting_column": 1, + "ending_column": 2 + } + } + } + } + ], + "description": "UniswapV3Oracle.isToken0 (src/oracles/UniswapV3Oracle.sol#65) should be immutable \n", + "markdown": "[UniswapV3Oracle.isToken0](src/oracles/UniswapV3Oracle.sol#L65) should be immutable \n", + "first_markdown_element": "src/oracles/UniswapV3Oracle.sol#L65", + "id": "fe23c04d02b78e9e124d8ab8aa13ce54ede2783408d0e75877e7375466537adc", + "check": "immutable-states", + "impact": "Optimization", + "confidence": "High" + } + ] + } +} \ No newline at end of file diff --git a/src/exercise/BaseExercise.sol b/src/exercise/BaseExercise.sol index 9de0cc6..31b6b50 100644 --- a/src/exercise/BaseExercise.sol +++ b/src/exercise/BaseExercise.sol @@ -8,6 +8,8 @@ import {IERC20} from "oz/token/ERC20/IERC20.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; import {Owned} from "solmate/auth/Owned.sol"; +import "forge-std/console.sol"; + abstract contract BaseExercise is IExercise, Owned { using SafeERC20 for IERC20; using FixedPointMathLib for uint256; @@ -86,7 +88,9 @@ abstract contract BaseExercise is IExercise, Owned { function distributeFees(uint256 totalAmount, IERC20 token) internal virtual { uint256 remaining = totalAmount; for (uint256 i = 0; i < feeRecipients.length - 1; i++) { + uint256 feeAmount = totalAmount * feeBPS[i] / FEE_DENOMINATOR; + console.log("feeBPS: %e feeAmount: %e", feeBPS[i], feeAmount); token.safeTransfer(feeRecipients[i], feeAmount); remaining -= feeAmount; } diff --git a/src/exercise/DiscountExercise.sol b/src/exercise/DiscountExercise.sol index 5417f45..17295ad 100644 --- a/src/exercise/DiscountExercise.sol +++ b/src/exercise/DiscountExercise.sol @@ -40,12 +40,16 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { error Exercise__SlippageGreaterThanMax(); error Exercise__ParamHasAddressZero(); error Exercise__InvalidExchangeType(uint256); + error Exercise__FeeDistributionFailed(); /// Events event Exercised(address indexed sender, address indexed recipient, uint256 amount, uint256 paymentAmount); event SetOracle(IOracle indexed newOracle); event SetTreasury(address indexed newTreasury); event SetMultiplier(uint256 indexed newMultiplier); + event Claimed(uint256 indexed amount); + event SetInstantFee(uint256 indexed instantFee); + event SetMinAmountToTrigger(uint256 minAmountToTrigger); /// Constants /// Immutable parameters @@ -114,6 +118,7 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { virtual override onlyOToken + whenNotPaused returns (uint256 paymentAmount, address, uint256, uint256) { DiscountExerciseParams memory _params = abi.decode(params, (DiscountExerciseParams)); @@ -124,11 +129,12 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { } } - function claim(address to) external { + function claim(address to) external whenNotPaused { uint256 amount = credit[msg.sender]; if (amount == 0) return; credit[msg.sender] = 0; underlyingToken.safeTransfer(to, amount); + emit Claimed(amount); } /// Owner functions @@ -172,10 +178,20 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { revert Exercise__FeeGreaterThanMax(); } instantExitFee = _instantExitFee; + emit SetInstantFee(_instantExitFee); } function setMinAmountToTriggerSwap(uint256 _minAmountToTriggerSwap) external onlyOwner { minAmountToTriggerSwap = _minAmountToTriggerSwap; + emit SetMinAmountToTrigger(_minAmountToTriggerSwap); + } + + function pause() external onlyOwner { + _pause(); + } + + function unpause() external onlyOwner { + _unpause(); } /// Internal functions @@ -185,13 +201,13 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { returns (uint256 paymentAmount, address, uint256, uint256) { if (block.timestamp > params.deadline) revert Exercise__PastDeadline(); - + console.log("[IN] Amount: %e\tmultiplier: %e", amount, multiplier); uint256 discountedUnderlying = amount.mulDivUp(multiplier, BPS_DENOM); uint256 fee = discountedUnderlying.mulDivUp(instantExitFee, BPS_DENOM); uint256 underlyingAmount = discountedUnderlying - fee; console.log("Discounted: %e \t fee: %e", discountedUnderlying, fee); - + console.log("Fee amount before: %e", feeAmount); // Fee amount in underlying tokens which is effect of not having redeem bonus feeAmount += fee; console.log("feeAmount: %s vs minAmountToTriggerSwap: %s", feeAmount, minAmountToTriggerSwap); @@ -200,7 +216,7 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { uint256 minAmountOut = _getMinAmountOutData(feeAmount, swapProps.maxSwapSlippage, address(oracle)); console.log("minAmountOut: ", minAmountOut); /* Approve the underlying token to make swap */ - underlyingToken.approve(swapProps.swapper, feeAmount); + underlyingToken.safeApprove(swapProps.swapper, feeAmount); /* Swap underlying token to payment token (asset) */ console.log("under before: %e", underlyingToken.balanceOf(address(this))); _generalSwap(swapProps.exchangeTypes, address(underlyingToken), address(paymentToken), feeAmount, minAmountOut, swapProps.exchangeAddress); @@ -208,10 +224,12 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { // transfer payment tokens from user to the set receivers console.log("Fee recipients: ", feeRecipients.length); distributeFees(paymentToken.balanceOf(address(this)), paymentToken); + if (paymentToken.balanceOf(feeRecipients[0]) == 0 || paymentToken.balanceOf(feeRecipients[1]) == 0) { + revert Exercise__FeeDistributionFailed(); + } } // transfer underlying tokens to recipient without the bonus - console.log("Transferring underlying : %e", underlyingAmount); _pay(recipient, underlyingAmount); emit Exercised(from, recipient, underlyingAmount, paymentAmount); diff --git a/src/helpers/SwapHelper.sol b/src/helpers/SwapHelper.sol index bea68e7..02534c4 100644 --- a/src/helpers/SwapHelper.sol +++ b/src/helpers/SwapHelper.sol @@ -72,15 +72,12 @@ abstract contract SwapHelper { ISwapperSwaps _swapper = ISwapperSwaps(swapProps.swapper); MinAmountOutData memory minAmountOutData = MinAmountOutData(MinAmountOutKind.Absolute, minAmountOut); if (exType == ExchangeType.UniV2) { - console.log("Calling Univ2"); _swapper.swapUniV2(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); } else if (exType == ExchangeType.Bal) { _swapper.swapBal(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); - console.log("HERE"); } else if (exType == ExchangeType.VeloSolid) { _swapper.swapVelo(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); } else if (exType == ExchangeType.UniV3) { - console.log("Calling Univ3"); _swapper.swapUniV3(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); } else { revert SwapHelper__InvalidExchangeType(uint256(exType)); diff --git a/test/Common.sol b/test/Common.sol index 843f5fe..c606486 100644 --- a/test/Common.sol +++ b/test/Common.sol @@ -98,6 +98,7 @@ address constant MODE_WETH = 0x4200000000000000000000000000000000000006; address constant MODE_VELO_USDC_MODE_PAIR = 0x283bA4E204DFcB6381BCBf2cb5d0e765A2B57bC2; // DECIMALS ISSUE address constant MODE_VELO_WETH_MODE_PAIR = 0x0fba984c97539B3fb49ACDA6973288D0EFA903DB; address constant MODE_VELO_ROUTER = 0x3a63171DD9BebF4D07BC782FECC7eb0b890C2A45; +address constant MODE_VELO_FACTORY = 0x31832f2a97Fd20664D76Cc421207669b55CE4BC0; contract Common is Test { IERC20 nativeToken; @@ -115,6 +116,7 @@ contract Common is Test { bytes32 paymentUnderlyingBpt; bytes32 paymentWantBpt; + address veloFactory; address pool; address addressProvider; address dataProvider; @@ -177,9 +179,9 @@ contract Common is Test { } else if (exchangeType == ExchangeType.VeloSolid) { /* Configure thena ram like dexes */ IVeloRouter.Route[] memory veloPath = new IVeloRouter.Route[](1); - veloPath[0] = IVeloRouter.Route(paths[0], paths[1], false, OP_VELO_FACTORY); + veloPath[0] = IVeloRouter.Route(paths[0], paths[1], false, veloFactory); reaperSwapper.updateVeloSwapPath(paths[0], paths[1], address(veloRouter), veloPath); - veloPath[0] = IVeloRouter.Route(paths[1], paths[0], false, OP_VELO_FACTORY); + veloPath[0] = IVeloRouter.Route(paths[1], paths[0], false, veloFactory); reaperSwapper.updateVeloSwapPath(paths[1], paths[0], address(veloRouter), veloPath); } else if (exchangeType == ExchangeType.UniV3) { /* Configure univ3 like dexes */ diff --git a/test/ItModeOptionsToken.t.sol b/test/ItModeOptionsToken.t.sol index 8287b09..1119cf1 100644 --- a/test/ItModeOptionsToken.t.sol +++ b/test/ItModeOptionsToken.t.sol @@ -92,6 +92,7 @@ contract ModeOptionsTokenTest is Test, Common { // swapRouter = ISwapRouter(OP_BEETX_VAULT); // univ3Factory = IUniswapV3Factory(OP_UNIV3_FACTORY); veloRouter = IVeloRouter(MODE_VELO_ROUTER); + veloFactory = MODE_VELO_FACTORY; /* Setup network */ uint256 fork = vm.createFork(MAINNET_URL, FORK_BLOCK); @@ -189,8 +190,8 @@ contract ModeOptionsTokenTest is Test, Common { } function test_modeZapPositiveScenario(uint256 amount, address recipient) public { - amount = bound(amount, 1e10, 1e18 - 1); - vm.assume(recipient != address(0)); + amount = bound(amount, 1e16, 1e18 - 1); + address recipient = makeAddr("recipient"); // mint options tokens vm.prank(tokenAdmin); @@ -202,15 +203,12 @@ contract ModeOptionsTokenTest is Test, Common { uint256 expectedUnderlyingAmount = discountedUnderlying - discountedUnderlying.mulDivUp(INSTANT_EXIT_FEE, 10_000); deal(address(paymentToken), address(this), expectedPaymentAmount); - console.log("discountedUnderlying:", discountedUnderlying); - console.log("expectedUnderlyingAmount:", expectedUnderlyingAmount); - // Calculate total fee from zapping uint256 calcPaymentAmount = exerciser.getPaymentAmount(amount); uint256 totalFee = calcPaymentAmount.mulDivUp(INSTANT_EXIT_FEE, 10_000); vm.prank(owner); - exerciser.setMinAmountToTriggerSwap(totalFee + 1); + exerciser.setMinAmountToTriggerSwap(discountedUnderlying.mulDivUp(INSTANT_EXIT_FEE, BPS_DENOM) + 1); // exercise options tokens DiscountExerciseParams memory params = @@ -230,7 +228,7 @@ contract ModeOptionsTokenTest is Test, Common { assertApproxEqAbs(balanceAfterFirstExercise, expectedUnderlyingAmount, 1, "Recipient got wrong amount of underlying token"); /*---------- Second call -----------*/ - amount = bound(amount, 1e18, 1e24); + amount = bound(amount, 1e18, 2e18); // mint options tokens vm.prank(tokenAdmin); optionsToken.mint(address(this), amount); @@ -262,8 +260,8 @@ contract ModeOptionsTokenTest is Test, Common { assertApproxEqRel(IERC20(paymentToken).balanceOf(feeRecipients_[1]), fee2, 5e16, "fee recipient 2 didn't receive payment tokens"); assertEqDecimal(paymentAmount, 0, 18, "exercise returned wrong value"); assertApproxEqAbs( - underlyingToken.balanceOf(recipient) + balanceAfterFirstExercise, - expectedUnderlyingAmount, + underlyingToken.balanceOf(recipient), + expectedUnderlyingAmount + balanceAfterFirstExercise, 1, "Recipient got wrong amount of underlying token" ); diff --git a/test/ItOpOptionsToken.t copy.sol b/test/ItOpOptionsToken.t.sol similarity index 73% rename from test/ItOpOptionsToken.t copy.sol rename to test/ItOpOptionsToken.t.sol index 3d93c04..9f33caa 100644 --- a/test/ItOpOptionsToken.t copy.sol +++ b/test/ItOpOptionsToken.t.sol @@ -92,6 +92,7 @@ contract OpOptionsTokenTest is Test, Common { swapRouter = ISwapRouter(OP_BEETX_VAULT); univ3Factory = IUniswapV3Factory(OP_UNIV3_FACTORY); veloRouter = IVeloRouter(OP_VELO_ROUTER); + veloFactory = OP_VELO_FACTORY; /* Setup network */ uint256 fork = vm.createFork(MAINNET_URL, FORK_BLOCK); @@ -188,16 +189,20 @@ contract OpOptionsTokenTest is Test, Common { assertEqDecimal(expectedPaymentAmount, paymentAmount, 18, "exercise returned wrong value"); } - function test_opZapPositiveScenario(uint256 amount, address recipient) public { + function test_opZapPositiveScenario(uint256 amount) public { amount = bound(amount, 1e10, 1e18 - 1); - vm.assume(recipient != address(0)); + address recipient = makeAddr("recipient"); // mint options tokens vm.prank(tokenAdmin); optionsToken.mint(address(this), amount); + console.log("Fee recipient1 balance: ", IERC20(paymentToken).balanceOf(feeRecipients_[0])); + console.log("Fee recipient2 balance: ", IERC20(paymentToken).balanceOf(feeRecipients_[1])); + // mint payment tokens uint256 expectedPaymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + console.log("[OUT] Amount: %e\tmultiplier: %e", amount, PRICE_MULTIPLIER); uint256 discountedUnderlying = amount.mulDivUp(PRICE_MULTIPLIER, 10_000); uint256 expectedUnderlyingAmount = discountedUnderlying - discountedUnderlying.mulDivUp(INSTANT_EXIT_FEE, 10_000); deal(address(paymentToken), address(this), expectedPaymentAmount); @@ -210,7 +215,7 @@ contract OpOptionsTokenTest is Test, Common { uint256 totalFee = calcPaymentAmount.mulDivUp(INSTANT_EXIT_FEE, 10_000); vm.prank(owner); - exerciser.setMinAmountToTriggerSwap(totalFee + 1); + exerciser.setMinAmountToTriggerSwap(discountedUnderlying.mulDivUp(INSTANT_EXIT_FEE, BPS_DENOM) + 1); // exercise options tokens DiscountExerciseParams memory params = @@ -262,116 +267,13 @@ contract OpOptionsTokenTest is Test, Common { assertApproxEqRel(IERC20(paymentToken).balanceOf(feeRecipients_[1]), fee2, 5e16, "fee recipient 2 didn't receive payment tokens"); assertEqDecimal(paymentAmount, 0, 18, "exercise returned wrong value"); assertApproxEqAbs( - underlyingToken.balanceOf(recipient) + balanceAfterFirstExercise, - expectedUnderlyingAmount, + underlyingToken.balanceOf(recipient), + expectedUnderlyingAmount + balanceAfterFirstExercise, 1, "Recipient got wrong amount of underlying token" ); } - function test_opExerciseMinPrice(uint256 amount, address recipient) public { - amount = bound(amount, 1, MAX_SUPPLY); - vm.assume(recipient != address(0)); - - // mint options tokens - vm.prank(tokenAdmin); - optionsToken.mint(address(this), amount); - - // set TWAP value such that the strike price is below the oracle's minPrice value - balancerTwapOracle.setTwapValue(ORACLE_MIN_PRICE - 1); - - // mint payment tokens - uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_MIN_PRICE); - deal(address(paymentToken), address(this), expectedPaymentAmount); - - // exercise options tokens - DiscountExerciseParams memory params = - DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); - vm.expectRevert(bytes4(keccak256("ThenaOracle__BelowMinPrice()"))); - optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); - } - - // function test_priceMultiplier(uint256 amount, uint256 multiplier) public { - // amount = bound(amount, 1, MAX_SUPPLY / 2); - - // vm.prank(owner); - // exerciser.setMultiplier(10000); // full price - - // // mint options tokens - // vm.prank(tokenAdmin); - // optionsToken.mint(address(this), amount * 2); - - // // mint payment tokens - // uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE); - // deal(address(paymentToken), address(this), expectedPaymentAmount); - - // // exercise options tokens - // DiscountExerciseParams memory params = - // DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); - // (uint256 paidAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); - - // // update multiplier - // multiplier = bound(multiplier, 1000, 20000); - // vm.prank(owner); - // exerciser.setMultiplier(multiplier); - - // // exercise options tokens - // uint256 newPrice = oracle.getPrice().mulDivUp(multiplier, 10000); - // uint256 newExpectedPaymentAmount = amount.mulWadUp(newPrice); - // params.maxPaymentAmount = newExpectedPaymentAmount; - - // deal(address(paymentToken), address(this), newExpectedPaymentAmount); - // (uint256 newPaidAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); - // // verify payment tokens were transferred - // assertEqDecimal(paymentToken.balanceOf(address(this)), 0, 18, "user still has payment tokens"); - // assertEq(newPaidAmount, paidAmount.mulDivUp(multiplier, 10000), "incorrect discount"); - // } - - // function test_exerciseTwapOracleNotReady(uint256 amount, address recipient) public { - // amount = bound(amount, 1, MAX_SUPPLY); - - // // mint options tokens - // vm.prank(tokenAdmin); - // optionsToken.mint(address(this), amount); - - // // mint payment tokens - // uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); - // deal(address(paymentToken), address(this), expectedPaymentAmount); - - // // update oracle params - // // such that the TWAP window becomes (block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW - ORACLE_SECS, block.timestamp - ORACLE_LARGEST_SAFETY_WINDOW] - // // which is outside of the largest safety window - // // vm.prank(owner); - // // oracle.setParams(ORACLE_SECS, ORACLE_LARGEST_SAFETY_WINDOW, ORACLE_MIN_PRICE); - - // // exercise options tokens which should fail - // DiscountExerciseParams memory params = - // DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); - // vm.expectRevert(ThenaOracle.ThenaOracle__TWAPOracleNotReady.selector); - // optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); - // } - - // function test_exercisePastDeadline(uint256 amount, address recipient, uint256 deadline) public { - // amount = bound(amount, 0, MAX_SUPPLY); - // deadline = bound(deadline, 0, block.timestamp - 1); - - // // mint options tokens - // vm.prank(tokenAdmin); - // optionsToken.mint(address(this), amount); - - // // mint payment tokens - // uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); - // deal(address(paymentToken), address(this), expectedPaymentAmount); - - // // exercise options tokens - // DiscountExerciseParams memory params = - // DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: deadline, isInstantExit: false}); - // if (amount != 0) { - // vm.expectRevert(DiscountExercise.Exercise__PastDeadline.selector); - // } - // optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); - // } - function test_exerciseNotOToken(uint256 amount, address recipient) public { amount = bound(amount, 0, MAX_SUPPLY); diff --git a/test/OptionsToken.t.sol b/test/OptionsToken.t.sol index 5f72a23..20b776a 100644 --- a/test/OptionsToken.t.sol +++ b/test/OptionsToken.t.sol @@ -356,4 +356,37 @@ contract OptionsTokenTest is Test { vm.expectRevert(OptionsToken.OptionsToken__NotExerciseContract.selector); optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); } + + function test_exerciseWhenPaused(uint256 amount) public { + amount = bound(amount, 100, 1 ether); + address recipient = makeAddr("recipient"); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), 3 * amount); + + // mint payment tokens + uint256 expectedPaymentAmount = 3 * amount.mulWadUp(oracle.getPrice().mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + /* Only owner can pause */ + vm.startPrank(recipient); + vm.expectRevert(bytes("UNAUTHORIZED")); // Ownable: caller is not the owner + exerciser.pause(); + vm.stopPrank(); + + vm.prank(owner); + exerciser.pause(); + vm.expectRevert(bytes("Pausable: paused")); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + vm.prank(owner); + exerciser.unpause(); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + } } From 14c385714d179abbc46998387030d38193f4ba65 Mon Sep 17 00:00:00 2001 From: xRave110 Date: Mon, 24 Jun 2024 10:28:55 +0200 Subject: [PATCH 06/10] Additional comments --- src/exercise/DiscountExercise.sol | 15 +-------------- test/Common.sol | 6 +++--- ...tionsToken.t.sol => ItOpOptionsToken.t.solNOT} | 0 3 files changed, 4 insertions(+), 17 deletions(-) rename test/{ItOpOptionsToken.t.sol => ItOpOptionsToken.t.solNOT} (100%) diff --git a/src/exercise/DiscountExercise.sol b/src/exercise/DiscountExercise.sol index 17295ad..5aa9b09 100644 --- a/src/exercise/DiscountExercise.sol +++ b/src/exercise/DiscountExercise.sol @@ -13,8 +13,6 @@ import {OptionsToken} from "../OptionsToken.sol"; import {ExchangeType, SwapProps, SwapHelper} from "../helpers/SwapHelper.sol"; -import "forge-std/console.sol"; - struct DiscountExerciseParams { uint256 maxPaymentAmount; uint256 deadline; @@ -201,28 +199,21 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { returns (uint256 paymentAmount, address, uint256, uint256) { if (block.timestamp > params.deadline) revert Exercise__PastDeadline(); - console.log("[IN] Amount: %e\tmultiplier: %e", amount, multiplier); uint256 discountedUnderlying = amount.mulDivUp(multiplier, BPS_DENOM); uint256 fee = discountedUnderlying.mulDivUp(instantExitFee, BPS_DENOM); uint256 underlyingAmount = discountedUnderlying - fee; - console.log("Discounted: %e \t fee: %e", discountedUnderlying, fee); - console.log("Fee amount before: %e", feeAmount); - // Fee amount in underlying tokens which is effect of not having redeem bonus + // Fee amount in underlying tokens for zapping feeAmount += fee; - console.log("feeAmount: %s vs minAmountToTriggerSwap: %s", feeAmount, minAmountToTriggerSwap); if (feeAmount >= minAmountToTriggerSwap) { uint256 minAmountOut = _getMinAmountOutData(feeAmount, swapProps.maxSwapSlippage, address(oracle)); - console.log("minAmountOut: ", minAmountOut); /* Approve the underlying token to make swap */ underlyingToken.safeApprove(swapProps.swapper, feeAmount); /* Swap underlying token to payment token (asset) */ - console.log("under before: %e", underlyingToken.balanceOf(address(this))); _generalSwap(swapProps.exchangeTypes, address(underlyingToken), address(paymentToken), feeAmount, minAmountOut, swapProps.exchangeAddress); feeAmount = 0; // transfer payment tokens from user to the set receivers - console.log("Fee recipients: ", feeRecipients.length); distributeFees(paymentToken.balanceOf(address(this)), paymentToken); if (paymentToken.balanceOf(feeRecipients[0]) == 0 || paymentToken.balanceOf(feeRecipients[1]) == 0) { revert Exercise__FeeDistributionFailed(); @@ -242,11 +233,9 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { returns (uint256 paymentAmount, address, uint256, uint256) { if (block.timestamp > params.deadline) revert Exercise__PastDeadline(); - // apply multiplier to price paymentAmount = _getPaymentAmount(amount); if (paymentAmount > params.maxPaymentAmount) revert Exercise__SlippageTooHigh(); - // transfer payment tokens from user to the set receivers distributeFeesFrom(paymentAmount, paymentToken, from); // transfer underlying tokens to recipient @@ -275,8 +264,6 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { } function _getPaymentAmount(uint256 amount) private view returns (uint256 paymentAmount) { - console.log("Price inside: ", oracle.getPrice()); paymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(multiplier, BPS_DENOM)); - // paymentAmount -= paymentAmount.mulDivUp(redeemBonus, BPS_DENOM); // redeem bonus applied } } diff --git a/test/Common.sol b/test/Common.sol index c606486..3043853 100644 --- a/test/Common.sol +++ b/test/Common.sol @@ -179,9 +179,9 @@ contract Common is Test { } else if (exchangeType == ExchangeType.VeloSolid) { /* Configure thena ram like dexes */ IVeloRouter.Route[] memory veloPath = new IVeloRouter.Route[](1); - veloPath[0] = IVeloRouter.Route(paths[0], paths[1], false, veloFactory); + veloPath[0] = IVeloRouter.Route(paths[0], paths[1], false); reaperSwapper.updateVeloSwapPath(paths[0], paths[1], address(veloRouter), veloPath); - veloPath[0] = IVeloRouter.Route(paths[1], paths[0], false, veloFactory); + veloPath[0] = IVeloRouter.Route(paths[1], paths[0], false); reaperSwapper.updateVeloSwapPath(paths[1], paths[0], address(veloRouter), veloPath); } else if (exchangeType == ExchangeType.UniV3) { /* Configure univ3 like dexes */ @@ -212,7 +212,7 @@ contract Common is Test { } else if (exchangeType == ExchangeType.VeloSolid) { IVeloRouter router = IVeloRouter(payable(address(veloRouter))); ThenaOracle underlyingPaymentOracle; - address pair = router.pairFor(address(underlyingToken), address(paymentToken), false, OP_VELO_FACTORY); + address pair = router.poolFor(address(underlyingToken), address(paymentToken), false); underlyingPaymentOracle = new ThenaOracle(IThenaPair(pair), address(underlyingToken), owner, ORACLE_SECS, ORACLE_MIN_PRICE); oracle = IOracle(address(underlyingPaymentOracle)); } else if (exchangeType == ExchangeType.UniV3) { diff --git a/test/ItOpOptionsToken.t.sol b/test/ItOpOptionsToken.t.solNOT similarity index 100% rename from test/ItOpOptionsToken.t.sol rename to test/ItOpOptionsToken.t.solNOT From 14f02156b5a4cd523e550f7444d8dc3f3df306af Mon Sep 17 00:00:00 2001 From: xRave110 Date: Fri, 28 Jun 2024 11:43:22 +0200 Subject: [PATCH 07/10] Improvements after review --- .gitignore | 3 + .gitmodules | 3 - .vscode/settings.json | 4 - foundry.toml | 2 +- hardhat.config.ts | 38 +- lib/tarot-price-oracle | 1 - lib/vault-v2 | 2 +- output.json | 228363 --------------------------- src/OptionsToken.sol | 15 +- src/exercise/DiscountExercise.sol | 23 +- src/helpers/SwapHelper.sol | 19 +- test/OptionsToken.t.sol | 38 +- 12 files changed, 98 insertions(+), 228413 deletions(-) delete mode 100644 .vscode/settings.json delete mode 160000 lib/tarot-price-oracle delete mode 100644 output.json diff --git a/.gitignore b/.gitignore index 9c3c7dc..1cdc36d 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,6 @@ node_modules/ artifacts/ cache_hardhat/ typechain-types/ + +*settings.json + diff --git a/.gitmodules b/.gitmodules index c75bf00..f324d8b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,9 +16,6 @@ [submodule "lib/openzeppelin-contracts"] path = lib/openzeppelin-contracts url = https://github.com/OpenZeppelin/openzeppelin-contracts -[submodule "lib/tarot-price-oracle"] - path = lib/tarot-price-oracle - url = https://github.com/xrave110/tarot-price-oracle [submodule "lib/vault-v2"] path = lib/vault-v2 url = https://github.com/Byte-Masons/vault-v2 diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 2306f3c..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "solidity.formatter": "forge", - "editor.formatOnSave": true -} \ No newline at end of file diff --git a/foundry.toml b/foundry.toml index 2362c36..8129a9c 100644 --- a/foundry.toml +++ b/foundry.toml @@ -1,7 +1,7 @@ [profile.default] optimizer_runs = 1000000 verbosity = 1 -via_ir = true +via_ir = false [fmt] line_length = 150 diff --git a/hardhat.config.ts b/hardhat.config.ts index f5f1364..f54029d 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -18,10 +18,10 @@ const PRIVATE_KEY = process.env.PRIVATE_KEY || ""; const config: HardhatUserConfig = { solidity: { - version: "0.8.20", - // settings: { - // optimizer: { enabled: true, runs: 200 } - // } + version: "0.8.19", + settings: { + optimizer: { enabled: true, runs: 9999 } + } }, sourcify: { enabled: true @@ -47,21 +47,21 @@ const config: HardhatUserConfig = { accounts: [`0x${PRIVATE_KEY}`], }, }, - // etherscan: { - // apiKey: { - // bsc: process.env.ETHERSCAN_KEY || "", - // }, - // customChains: [ - // { - // network: "mode", - // chainId: 34443, - // urls: { - // apiURL: "https://explorer.mode.network", - // browserURL: "https://explorer.mode.network" - // } - // } - // ] - // }, + etherscan: { + apiKey: { + bsc: process.env.ETHERSCAN_KEY || "", + }, + // customChains: [ + // { + // network: "mode", + // chainId: 34443, + // urls: { + // apiURL: "https://explorer.mode.network", + // browserURL: "https://explorer.mode.network" + // } + // } + // ] + }, }; diff --git a/lib/tarot-price-oracle b/lib/tarot-price-oracle deleted file mode 160000 index 483959c..0000000 --- a/lib/tarot-price-oracle +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 483959c501ddab57e5215e47bbb257f04aa02b76 diff --git a/lib/vault-v2 b/lib/vault-v2 index 23df243..6cbaea2 160000 --- a/lib/vault-v2 +++ b/lib/vault-v2 @@ -1 +1 @@ -Subproject commit 23df243595d358986708544e03229501fc82b595 +Subproject commit 6cbaea2c6d3f6fbfa3aebab182f9a75d056f7a43 diff --git a/output.json b/output.json deleted file mode 100644 index 5a04500..0000000 --- a/output.json +++ /dev/null @@ -1,228363 +0,0 @@ -{ - "success": true, - "error": null, - "results": { - "detectors": [ - { - "elements": [ - { - "type": "function", - "name": "distributeFeesFrom", - "source_mapping": { - "start": 3017, - "length": 554, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFeesFrom(uint256,IERC20,address)" - } - }, - { - "type": "node", - "name": "token.safeTransferFrom(from,feeRecipients[i],feeAmount)", - "source_mapping": { - "start": 3306, - "length": 57, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 79 - ], - "starting_column": 13, - "ending_column": 70 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFeesFrom", - "source_mapping": { - "start": 3017, - "length": 554, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFeesFrom(uint256,IERC20,address)" - } - } - } - } - ], - "description": "BaseExercise.distributeFeesFrom(uint256,IERC20,address) (src/exercise/BaseExercise.sol#75-84) uses arbitrary from in transferFrom: token.safeTransferFrom(from,feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#79)\n", - "markdown": "[BaseExercise.distributeFeesFrom(uint256,IERC20,address)](src/exercise/BaseExercise.sol#L75-L84) uses arbitrary from in transferFrom: [token.safeTransferFrom(from,feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L79)\n", - "first_markdown_element": "src/exercise/BaseExercise.sol#L75-L84", - "id": "446a1cb33ebfad0d0a709c03c1c0cd849aceed537bd0183c5297524327e3aaf2", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "distributeFeesFrom", - "source_mapping": { - "start": 3017, - "length": 554, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFeesFrom(uint256,IERC20,address)" - } - }, - { - "type": "node", - "name": "token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)", - "source_mapping": { - "start": 3419, - "length": 80, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 82 - ], - "starting_column": 9, - "ending_column": 89 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFeesFrom", - "source_mapping": { - "start": 3017, - "length": 554, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFeesFrom(uint256,IERC20,address)" - } - } - } - } - ], - "description": "BaseExercise.distributeFeesFrom(uint256,IERC20,address) (src/exercise/BaseExercise.sol#75-84) uses arbitrary from in transferFrom: token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#82)\n", - "markdown": "[BaseExercise.distributeFeesFrom(uint256,IERC20,address)](src/exercise/BaseExercise.sol#L75-L84) uses arbitrary from in transferFrom: [token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L82)\n", - "first_markdown_element": "src/exercise/BaseExercise.sol#L75-L84", - "id": "e527a176c279777711a8a43d5feac81d7390657a451efca4aa421633e06d9680", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "_functionDelegateCall", - "source_mapping": { - "start": 6780, - "length": 455, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 184, - 185, - 186, - 187, - 188, - 189, - 190 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC1967UpgradeUpgradeable", - "source_mapping": { - "start": 661, - "length": 6867, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_functionDelegateCall(address,bytes)" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.delegatecall(data)", - "source_mapping": { - "start": 7045, - "length": 67, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 188 - ], - "starting_column": 9, - "ending_column": 76 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_functionDelegateCall", - "source_mapping": { - "start": 6780, - "length": 455, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 184, - 185, - 186, - 187, - 188, - 189, - 190 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC1967UpgradeUpgradeable", - "source_mapping": { - "start": 661, - "length": 6867, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_functionDelegateCall(address,bytes)" - } - } - } - } - ], - "description": "ERC1967UpgradeUpgradeable._functionDelegateCall(address,bytes) (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#184-190) uses delegatecall to a input-controlled function id\n\t- (success,returndata) = target.delegatecall(data) (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#188)\n", - "markdown": "[ERC1967UpgradeUpgradeable._functionDelegateCall(address,bytes)](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L184-L190) uses delegatecall to a input-controlled function id\n\t- [(success,returndata) = target.delegatecall(data)](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L188)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L184-L190", - "id": "674611239cacd3d3adbcbfab671c0ebaf9c020827cfd91cca0f58d74c0873e7d", - "check": "controlled-delegatecall", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "inv = (3 * denominator) ^ 2", - "source_mapping": { - "start": 3729, - "length": 35, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 88 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - inv = (3 * denominator) ^ 2 (lib/v3-core/contracts/libraries/FullMath.sol#88)\n", - "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - [inv = (3 * denominator) ^ 2](lib/v3-core/contracts/libraries/FullMath.sol#L88)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", - "id": "3ebcee10c38dd4a235616a4d9d6a9aaf00fe1db39529893efe57c283a4b73d3f", - "check": "incorrect-exp", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "inverse = (3 * denominator) ^ 2", - "source_mapping": { - "start": 4459, - "length": 39, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 117 - ], - "starting_column": 13, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - inverse = (3 * denominator) ^ 2 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#117)\n", - "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - [inverse = (3 * denominator) ^ 2](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L117)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", - "id": "d5757e6727c1fd979b03f6138f32befb52a3a53c3f8e23a9970145a5973d779a", - "check": "incorrect-exp", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 3757, - "length": 37, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 102 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inverse *= 2 - denominator * inverse", - "source_mapping": { - "start": 4715, - "length": 36, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 121 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#121)\n", - "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L121)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", - "id": "00b65e3a8fb42b635c27a085eb3b8c89d7b14ad83a5429e7ccfde9497a23828c", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0x48a170391f7dc42444e8fa2) >> 128", - "source_mapping": { - "start": 3617, - "length": 50, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 52 - ], - "starting_column": 41, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x48a170391f7dc42444e8fa2) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#52)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x48a170391f7dc42444e8fa2) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L52)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "049b0eee893d521c098e8106c37a596606789cb5437746aaf101d87bfb81347e", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 3757, - "length": 37, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 102 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inverse *= 2 - denominator * inverse", - "source_mapping": { - "start": 4924, - "length": 36, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 124 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#124)\n", - "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L124)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", - "id": "063a41726141c0824417315356cff50b71c19049fcd88cdabef685c7b2284446", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "prod0 = prod0 / twos", - "source_mapping": { - "start": 3023, - "length": 25, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 73 - ], - "starting_column": 17, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "result = prod0 * inv", - "source_mapping": { - "start": 4804, - "length": 20, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 105 - ], - "starting_column": 13, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- prod0 = prod0 / twos (lib/v3-core/contracts/libraries/FullMath.sol#73)\n\t- result = prod0 * inv (lib/v3-core/contracts/libraries/FullMath.sol#105)\n", - "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [prod0 = prod0 / twos](lib/v3-core/contracts/libraries/FullMath.sol#L73)\n\t- [result = prod0 * inv](lib/v3-core/contracts/libraries/FullMath.sol#L105)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", - "id": "0fc34c55fb2fcbf643d5ba90b5756e4d089643e6ad30eeea71f5c709781c9e32", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5) >> 128", - "source_mapping": { - "start": 3020, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 46 - ], - "starting_column": 40, - "ending_column": 99 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#46)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L46)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "10d5f7f6961892bd6462b79f7f63ffdeb9ccdad321a21b8302ef6d4d68d57be6", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 2873, - "length": 37, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 68 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inv *= 2 - denominator * inv", - "source_mapping": { - "start": 4310, - "length": 28, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 97 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#97)\n", - "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L97)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", - "id": "1ef88f8244a181a35e0f07c86dd3dbcd47a08f4e7344a3aa2246ce952b3c4782", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_calculateMinAmountOut", - "source_mapping": { - "start": 9735, - "length": 1525, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" - } - }, - { - "type": "node", - "name": "toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR", - "source_mapping": { - "start": 11000, - "length": 130, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 299, - 300 - ], - "starting_column": 9, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_calculateMinAmountOut", - "source_mapping": { - "start": 9735, - "length": 1525, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" - } - } - } - }, - { - "type": "node", - "name": "minAmountOut = (toAmountUsdTargetDigits * 10 ** IERC20MetadataUpgradeable(_to).decimals()) / toPriceTargetDigits", - "source_mapping": { - "start": 11141, - "length": 112, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 302 - ], - "starting_column": 9, - "ending_column": 121 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_calculateMinAmountOut", - "source_mapping": { - "start": 9735, - "length": 1525, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" - } - } - } - } - ], - "description": "ReaperSwapper._calculateMinAmountOut(address,address,uint256,MinAmountOutData) (lib/vault-v2/src/ReaperSwapper.sol#275-303) performs a multiplication on the result of a division:\n\t- toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR (lib/vault-v2/src/ReaperSwapper.sol#299-300)\n\t- minAmountOut = (toAmountUsdTargetDigits * 10 ** IERC20MetadataUpgradeable(_to).decimals()) / toPriceTargetDigits (lib/vault-v2/src/ReaperSwapper.sol#302)\n", - "markdown": "[ReaperSwapper._calculateMinAmountOut(address,address,uint256,MinAmountOutData)](lib/vault-v2/src/ReaperSwapper.sol#L275-L303) performs a multiplication on the result of a division:\n\t- [toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR](lib/vault-v2/src/ReaperSwapper.sol#L299-L300)\n\t- [minAmountOut = (toAmountUsdTargetDigits * 10 ** IERC20MetadataUpgradeable(_to).decimals()) / toPriceTargetDigits](lib/vault-v2/src/ReaperSwapper.sol#L302)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L275-L303", - "id": "242b2c5d9da698fd1345e7823ad59a8dae0b459dab01039556e362d5ac2acd45", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_calculateMinAmountOut", - "source_mapping": { - "start": 9735, - "length": 1525, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" - } - }, - { - "type": "node", - "name": "fromAmountUsdTargetDigits = (_amountIn * fromPriceTargetDigits) / 10 ** IERC20MetadataUpgradeable(_from).decimals()", - "source_mapping": { - "start": 10855, - "length": 135, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 297, - 298 - ], - "starting_column": 9, - "ending_column": 100 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_calculateMinAmountOut", - "source_mapping": { - "start": 9735, - "length": 1525, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" - } - } - } - }, - { - "type": "node", - "name": "toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR", - "source_mapping": { - "start": 11000, - "length": 130, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 299, - 300 - ], - "starting_column": 9, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_calculateMinAmountOut", - "source_mapping": { - "start": 9735, - "length": 1525, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_calculateMinAmountOut(address,address,uint256,MinAmountOutData)" - } - } - } - } - ], - "description": "ReaperSwapper._calculateMinAmountOut(address,address,uint256,MinAmountOutData) (lib/vault-v2/src/ReaperSwapper.sol#275-303) performs a multiplication on the result of a division:\n\t- fromAmountUsdTargetDigits = (_amountIn * fromPriceTargetDigits) / 10 ** IERC20MetadataUpgradeable(_from).decimals() (lib/vault-v2/src/ReaperSwapper.sol#297-298)\n\t- toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR (lib/vault-v2/src/ReaperSwapper.sol#299-300)\n", - "markdown": "[ReaperSwapper._calculateMinAmountOut(address,address,uint256,MinAmountOutData)](lib/vault-v2/src/ReaperSwapper.sol#L275-L303) performs a multiplication on the result of a division:\n\t- [fromAmountUsdTargetDigits = (_amountIn * fromPriceTargetDigits) / 10 ** IERC20MetadataUpgradeable(_from).decimals()](lib/vault-v2/src/ReaperSwapper.sol#L297-L298)\n\t- [toAmountUsdTargetDigits = (fromAmountUsdTargetDigits * _minAmountOutData.absoluteOrBPSValue) / PERCENT_DIVISOR](lib/vault-v2/src/ReaperSwapper.sol#L299-L300)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L275-L303", - "id": "2a964692a2c1e433645c4386705e83f412d01ced4ff15e6a7ed9f220abf91751", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 3757, - "length": 37, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 102 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inverse *= 2 - denominator * inverse", - "source_mapping": { - "start": 4784, - "length": 36, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 122 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#122)\n", - "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L122)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", - "id": "333a89f3a8f64c59b998db6ddea224f5e5b6a3e18adc1cc4fe33353a9161141a", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861) >> 128", - "source_mapping": { - "start": 2326, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 39 - ], - "starting_column": 38, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#39)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L39)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "38c735599b34bd5dd6042b2b9001323fbfb2770b8c54e5257f95d17e496b58bc", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54) >> 128", - "source_mapping": { - "start": 2622, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 42 - ], - "starting_column": 39, - "ending_column": 98 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#42)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L42)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "3b44809d05674d486bb9e43f2b5c6a6f1b3cfbf822a51d78672a6efcaaf27060", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_getSwapAmountUniV2", - "source_mapping": { - "start": 3579, - "length": 603, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_getSwapAmountUniV2(uint256,uint256,uint256,address)" - } - }, - { - "type": "node", - "name": "halfInvestment = _investmentA / 2", - "source_mapping": { - "start": 3766, - "length": 41, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 96 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_getSwapAmountUniV2", - "source_mapping": { - "start": 3579, - "length": 603, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_getSwapAmountUniV2(uint256,uint256,uint256,address)" - } - } - } - }, - { - "type": "node", - "name": "swapAmount = _investmentA - (Babylonian.sqrt((halfInvestment * halfInvestment * nominator) / denominator))", - "source_mapping": { - "start": 4069, - "length": 106, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 100 - ], - "starting_column": 9, - "ending_column": 115 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_getSwapAmountUniV2", - "source_mapping": { - "start": 3579, - "length": 603, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_getSwapAmountUniV2(uint256,uint256,uint256,address)" - } - } - } - } - ], - "description": "UniV2Mixin._getSwapAmountUniV2(uint256,uint256,uint256,address) (lib/vault-v2/src/mixins/UniV2Mixin.sol#91-101) performs a multiplication on the result of a division:\n\t- halfInvestment = _investmentA / 2 (lib/vault-v2/src/mixins/UniV2Mixin.sol#96)\n\t- swapAmount = _investmentA - (Babylonian.sqrt((halfInvestment * halfInvestment * nominator) / denominator)) (lib/vault-v2/src/mixins/UniV2Mixin.sol#100)\n", - "markdown": "[UniV2Mixin._getSwapAmountUniV2(uint256,uint256,uint256,address)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L91-L101) performs a multiplication on the result of a division:\n\t- [halfInvestment = _investmentA / 2](lib/vault-v2/src/mixins/UniV2Mixin.sol#L96)\n\t- [swapAmount = _investmentA - (Babylonian.sqrt((halfInvestment * halfInvestment * nominator) / denominator))](lib/vault-v2/src/mixins/UniV2Mixin.sol#L100)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/UniV2Mixin.sol#L91-L101", - "id": "3bdf8bff47fabfb38bc200b9841d43ccc92af4d55144953616bc8b804bbb4190", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053) >> 128", - "source_mapping": { - "start": 2424, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 40 - ], - "starting_column": 38, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#40)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L40)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "3fe811ee3f7a15306c799d900ce83ea25b94a798fc2fbdbeff7c41a9d44104eb", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 3757, - "length": 37, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 102 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inverse *= 2 - denominator * inverse", - "source_mapping": { - "start": 4854, - "length": 36, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 123 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#123)\n", - "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L123)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", - "id": "4bd78131744a4ae01deecf9f70f7caa639f217aabb6958b7502762971ed7992c", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdcc) >> 128", - "source_mapping": { - "start": 1935, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 35 - ], - "starting_column": 37, - "ending_column": 96 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdcc) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#35)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdcc) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L35)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "4c4b17533f204364045c6f68db370e77b5ad7364eba97f64430b1d06a53fcec5", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xfff97272373d413259a46990580e213a) >> 128", - "source_mapping": { - "start": 1838, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 34 - ], - "starting_column": 37, - "ending_column": 96 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xfff97272373d413259a46990580e213a) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#34)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xfff97272373d413259a46990580e213a) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L34)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "4fc11cac2f6896d1fd2ae2941701fcab0e310d7f0867ed97cc5b3e8c23efcba4", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_getSwapAmountVelo", - "source_mapping": { - "start": 2636, - "length": 541, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_getSwapAmountVelo(IVeloPair,uint256,uint256,uint256,address)" - } - }, - { - "type": "node", - "name": "halfInvestment = investmentA / 2", - "source_mapping": { - "start": 2834, - "length": 40, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 78 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_getSwapAmountVelo", - "source_mapping": { - "start": 2636, - "length": 541, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_getSwapAmountVelo(IVeloPair,uint256,uint256,uint256,address)" - } - } - } - }, - { - "type": "node", - "name": "swapAmount = investmentA - Babylonian.sqrt((halfInvestment * halfInvestment * numerator) / denominator)", - "source_mapping": { - "start": 3067, - "length": 103, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 81 - ], - "starting_column": 9, - "ending_column": 112 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_getSwapAmountVelo", - "source_mapping": { - "start": 2636, - "length": 541, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_getSwapAmountVelo(IVeloPair,uint256,uint256,uint256,address)" - } - } - } - } - ], - "description": "VeloSolidMixin._getSwapAmountVelo(IVeloPair,uint256,uint256,uint256,address) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#73-82) performs a multiplication on the result of a division:\n\t- halfInvestment = investmentA / 2 (lib/vault-v2/src/mixins/VeloSolidMixin.sol#78)\n\t- swapAmount = investmentA - Babylonian.sqrt((halfInvestment * halfInvestment * numerator) / denominator) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#81)\n", - "markdown": "[VeloSolidMixin._getSwapAmountVelo(IVeloPair,uint256,uint256,uint256,address)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L73-L82) performs a multiplication on the result of a division:\n\t- [halfInvestment = investmentA / 2](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L78)\n\t- [swapAmount = investmentA - Babylonian.sqrt((halfInvestment * halfInvestment * numerator) / denominator)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L81)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/VeloSolidMixin.sol#L73-L82", - "id": "634d14708bdcf209cb732dd2453064bc4232343cec20e4c4af1d0a5345cc9d11", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6) >> 128", - "source_mapping": { - "start": 3220, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 48 - ], - "starting_column": 40, - "ending_column": 99 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#48)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L48)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "7236a33a1c38547e2d6016c50a0cff9ccffeabd09475c57376ecb4a0f0d579fa", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 3757, - "length": 37, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 102 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inverse *= 2 - denominator * inverse", - "source_mapping": { - "start": 4994, - "length": 36, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 125 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#125)\n", - "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L125)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", - "id": "8e550aa740cfcf771bd2bf114b325d4e59d89cb74eda337db615a02086ec0332", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0x5d6af8dedb81196699c329225ee604) >> 128", - "source_mapping": { - "start": 3421, - "length": 57, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 50 - ], - "starting_column": 41, - "ending_column": 98 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x5d6af8dedb81196699c329225ee604) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#50)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x5d6af8dedb81196699c329225ee604) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L50)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "976e6f1a5489c4b684ba80b7f2991c4f073a52e0a02f101aff98abe7c966e58b", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 2873, - "length": 37, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 68 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inv *= 2 - denominator * inv", - "source_mapping": { - "start": 4183, - "length": 28, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 95 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#95)\n", - "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L95)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", - "id": "9c4b77f30035cd07f16f5da3c7df4ce22186d431383be67fc63102f53f1778be", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0) >> 128", - "source_mapping": { - "start": 2032, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 36 - ], - "starting_column": 37, - "ending_column": 96 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#36)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L36)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "9d5a00343fb3299a12df278a7fcc4e8bba171415a0cddc32a3c8b1292da5e020", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "rpow", - "source_mapping": { - "start": 2774, - "length": 2778, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "rpow(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "x = xxRound_rpow_asm_0 / scalar", - "source_mapping": { - "start": 4594, - "length": 25, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 129 - ], - "starting_column": 21, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "rpow", - "source_mapping": { - "start": 2774, - "length": 2778, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "rpow(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "zx_rpow_asm_0 = z * x", - "source_mapping": { - "start": 4759, - "length": 19, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 134 - ], - "starting_column": 25, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "rpow", - "source_mapping": { - "start": 2774, - "length": 2778, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "rpow(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.rpow(uint256,uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#71-158) performs a multiplication on the result of a division:\n\t- x = xxRound_rpow_asm_0 / scalar (lib/solmate/src/utils/FixedPointMathLib.sol#129)\n\t- zx_rpow_asm_0 = z * x (lib/solmate/src/utils/FixedPointMathLib.sol#134)\n", - "markdown": "[FixedPointMathLib.rpow(uint256,uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L71-L158) performs a multiplication on the result of a division:\n\t- [x = xxRound_rpow_asm_0 / scalar](lib/solmate/src/utils/FixedPointMathLib.sol#L129)\n\t- [zx_rpow_asm_0 = z * x](lib/solmate/src/utils/FixedPointMathLib.sol#L134)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L71-L158", - "id": "a6857f603efc155f5d59590b122e576c03098950016b0ca7391a75409969c72a", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644) >> 128", - "source_mapping": { - "start": 2130, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 37 - ], - "starting_column": 38, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#37)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L37)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "a91bd7bdec9d229a2e8b7757852ccf6bfbb0c1b82e2f213c0e87ea7d1501339c", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "prod0 = prod0 / twos", - "source_mapping": { - "start": 3861, - "length": 25, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 105 - ], - "starting_column": 17, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "result = prod0 * inverse", - "source_mapping": { - "start": 5535, - "length": 24, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 132 - ], - "starting_column": 13, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- prod0 = prod0 / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#105)\n\t- result = prod0 * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#132)\n", - "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [prod0 = prod0 / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L105)\n\t- [result = prod0 * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L132)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", - "id": "b87038aa85530f57d3c926dfb00303da9021db0b4df6e6e2a16775cb835b5245", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 2873, - "length": 37, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 68 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inv *= 2 - denominator * inv", - "source_mapping": { - "start": 4120, - "length": 28, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 94 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#94)\n", - "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L94)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", - "id": "bab014d5399775b500e5a02bedb24be936428d7c221c43ea46172f1944c25875", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 2873, - "length": 37, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 68 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inv = (3 * denominator) ^ 2", - "source_mapping": { - "start": 3729, - "length": 35, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 88 - ], - "starting_column": 13, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv = (3 * denominator) ^ 2 (lib/v3-core/contracts/libraries/FullMath.sol#88)\n", - "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv = (3 * denominator) ^ 2](lib/v3-core/contracts/libraries/FullMath.sol#L88)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", - "id": "bb1576372add81b6d335a9795a84d6f47581915cf81761e1130215f4fffec15f", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 2873, - "length": 37, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 68 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inv *= 2 - denominator * inv", - "source_mapping": { - "start": 3995, - "length": 28, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 92 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#92)\n", - "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L92)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", - "id": "c0ce32fa53af66ddd6aa23871a339ee9773df422e6ee599a3a5394cf32887501", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9) >> 128", - "source_mapping": { - "start": 2820, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 44 - ], - "starting_column": 39, - "ending_column": 98 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#44)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L44)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "c7038675fff7d70121645d78c43c65fcb0265d0211269a5f5d8cae28f85688e8", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3) >> 128", - "source_mapping": { - "start": 2721, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 43 - ], - "starting_column": 39, - "ending_column": 98 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#43)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L43)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "cb6b982337b1749cacc0e54aa2a12b46da2952e9f90b918464706a96e177d317", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 2873, - "length": 37, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 68 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inv *= 2 - denominator * inv", - "source_mapping": { - "start": 4246, - "length": 28, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 96 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#96)\n", - "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L96)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", - "id": "d1dea53850dd9403825e78e37c8a0b863bfe4a7587d2b6caa6f92988c30f6d65", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98) >> 128", - "source_mapping": { - "start": 3520, - "length": 55, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 51 - ], - "starting_column": 41, - "ending_column": 96 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#51)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L51)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "d2ed7da21b17178cd05780daf6db15d5eecc0d32e25943b91c66207f259ed6c1", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 3757, - "length": 37, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 102 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inverse *= 2 - denominator * inverse", - "source_mapping": { - "start": 5065, - "length": 36, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 126 - ], - "starting_column": 13, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#126)\n", - "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L126)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", - "id": "d3e6e10c122886674b1e5fd2ce413eb882f00fdadbc0ea78e283dc622c1e9768", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7) >> 128", - "source_mapping": { - "start": 3120, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 47 - ], - "starting_column": 40, - "ending_column": 99 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#47)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L47)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "da6dbcc8d396a8ea28bf63c4bac1f6e08ad3a685e6fc8a653d02f87b541253e3", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 3757, - "length": 37, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 102 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inverse = (3 * denominator) ^ 2", - "source_mapping": { - "start": 4459, - "length": 39, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 117 - ], - "starting_column": 13, - "ending_column": 52 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse = (3 * denominator) ^ 2 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#117)\n", - "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse = (3 * denominator) ^ 2](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L117)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", - "id": "dafd46d4f8c4625c4f3a256e1ea93a0fee8d450f2b6dead5825ba39094f116c8", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825) >> 128", - "source_mapping": { - "start": 2920, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 45 - ], - "starting_column": 40, - "ending_column": 99 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#45)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L45)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "e426a7f18a2489b8e0f9cfe771bcab135619bec93fef6dd0e19f27e2e7d1464f", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4) >> 128", - "source_mapping": { - "start": 2523, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 41 - ], - "starting_column": 39, - "ending_column": 98 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#41)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L41)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "e88cd4d371f5afbf49191d8304a8f6d8ad7f24d19ebcdcf46e6f324c2ffb1c7a", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9) >> 128", - "source_mapping": { - "start": 3321, - "length": 58, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 49 - ], - "starting_column": 41, - "ending_column": 99 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#49)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L49)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "f64d093eb85f9a8f731041983d2bb0bf07289d63f153e7b794e434881e924193", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0) >> 128", - "source_mapping": { - "start": 2228, - "length": 59, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 38 - ], - "starting_column": 38, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - }, - { - "type": "node", - "name": "ratio = type()(uint256).max / ratio", - "source_mapping": { - "start": 3696, - "length": 33, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 54 - ], - "starting_column": 27, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) performs a multiplication on the result of a division:\n\t- ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0) >> 128 (lib/v3-core/contracts/libraries/TickMath.sol#38)\n\t- ratio = type()(uint256).max / ratio (lib/v3-core/contracts/libraries/TickMath.sol#54)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) performs a multiplication on the result of a division:\n\t- [ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0) >> 128](lib/v3-core/contracts/libraries/TickMath.sol#L38)\n\t- [ratio = type()(uint256).max / ratio](lib/v3-core/contracts/libraries/TickMath.sol#L54)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "f69dca7a8c89e196d377b110003ab7978a3e4c70f8beb0f4a5f5ab9b6e6e9253", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "denominator = denominator / twos", - "source_mapping": { - "start": 2873, - "length": 37, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 68 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "inv *= 2 - denominator * inv", - "source_mapping": { - "start": 4057, - "length": 28, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 93 - ], - "starting_column": 13, - "ending_column": 41 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/v3-core/contracts/libraries/FullMath.sol#68)\n\t- inv *= 2 - denominator * inv (lib/v3-core/contracts/libraries/FullMath.sol#93)\n", - "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/v3-core/contracts/libraries/FullMath.sol#L68)\n\t- [inv *= 2 - denominator * inv](lib/v3-core/contracts/libraries/FullMath.sol#L93)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", - "id": "fc5782d775af920a34f30dc7ed31f6d5a4bbf29cb1109a6103908410aba5b1de", - "check": "divide-before-multiply", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - }, - { - "type": "node", - "name": "paymentToken.balanceOf(feeRecipients[0]) == 0 || paymentToken.balanceOf(feeRecipients[1]) == 0", - "source_mapping": { - "start": 8678, - "length": 94, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 221 - ], - "starting_column": 17, - "ending_column": 111 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - } - } - ], - "description": "DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231) uses a dangerous strict equality:\n\t- paymentToken.balanceOf(feeRecipients[0]) == 0 || paymentToken.balanceOf(feeRecipients[1]) == 0 (src/exercise/DiscountExercise.sol#221)\n", - "markdown": "[DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231) uses a dangerous strict equality:\n\t- [paymentToken.balanceOf(feeRecipients[0]) == 0 || paymentToken.balanceOf(feeRecipients[1]) == 0](src/exercise/DiscountExercise.sol#L221)\n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", - "id": "5a880060efcc31cb1efa41190002e874acfb1476c6f4163acb1fb73776ec92a2", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - }, - { - "type": "node", - "name": "_params.from == _params.to || _params.amount == 0", - "source_mapping": { - "start": 1243, - "length": 49, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 39 - ], - "starting_column": 13, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - } - } - } - ], - "description": "UniV3Mixin._swapUniV3(UniV3Mixin.Params__swapUniV3) (lib/vault-v2/src/mixins/UniV3Mixin.sol#38-69) uses a dangerous strict equality:\n\t- _params.from == _params.to || _params.amount == 0 (lib/vault-v2/src/mixins/UniV3Mixin.sol#39)\n", - "markdown": "[UniV3Mixin._swapUniV3(UniV3Mixin.Params__swapUniV3)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L38-L69) uses a dangerous strict equality:\n\t- [_params.from == _params.to || _params.amount == 0](lib/vault-v2/src/mixins/UniV3Mixin.sol#L39)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L38-L69", - "id": "fc396b078296f5d4c0c3927e14de36cf6a3ad91f938e9e10d2e8fa0e437962fc", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - }, - { - "type": "node", - "name": "underlyingToken.approve(swapProps.swapper,feeAmount)", - "source_mapping": { - "start": 8058, - "length": 53, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 213 - ], - "starting_column": 13, - "ending_column": 66 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)", - "source_mapping": { - "start": 8277, - "length": 138, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 216 - ], - "starting_column": 13, - "ending_column": 151 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2488, - "length": 80, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 75 - ], - "starting_column": 13, - "ending_column": 93 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2631, - "length": 78, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 77 - ], - "starting_column": 13, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2778, - "length": 79, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 79 - ], - "starting_column": 13, - "ending_column": 92 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2922, - "length": 80, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 81 - ], - "starting_column": 13, - "ending_column": 93 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "feeAmount = 0", - "source_mapping": { - "start": 8429, - "length": 13, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 217 - ], - "starting_column": 13, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "feeAmount" - } - } - ], - "description": "Reentrancy in DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231):\n\tExternal calls:\n\t- underlyingToken.approve(swapProps.swapper,feeAmount) (src/exercise/DiscountExercise.sol#213)\n\t- _generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress) (src/exercise/DiscountExercise.sol#216)\n\t\t- _swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#75)\n\t\t- _swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#77)\n\t\t- _swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#79)\n\t\t- _swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#81)\n\tState variables written after the call(s):\n\t- feeAmount = 0 (src/exercise/DiscountExercise.sol#217)\n\tDiscountExercise.feeAmount (src/exercise/DiscountExercise.sol#75) can be used in cross function reentrancies:\n\t- DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231)\n", - "markdown": "Reentrancy in [DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231):\n\tExternal calls:\n\t- [underlyingToken.approve(swapProps.swapper,feeAmount)](src/exercise/DiscountExercise.sol#L213)\n\t- [_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)](src/exercise/DiscountExercise.sol#L216)\n\t\t- [_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L75)\n\t\t- [_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L77)\n\t\t- [_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L79)\n\t\t- [_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L81)\n\tState variables written after the call(s):\n\t- [feeAmount = 0](src/exercise/DiscountExercise.sol#L217)\n\t[DiscountExercise.feeAmount](src/exercise/DiscountExercise.sol#L75) can be used in cross function reentrancies:\n\t- [DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231)\n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", - "id": "a3da78c5bd6d087b6122e2bce93b85b2799e2ef18234c8a2ad47ba8fa7e94f24", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "price", - "source_mapping": { - "start": 17664, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 438 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_scaleChainlinkPriceByDigits", - "source_mapping": { - "start": 17460, - "length": 642, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_scaleChainlinkPriceByDigits(uint256,uint256)" - } - } - } - } - ], - "description": "ReaperSwapper._scaleChainlinkPriceByDigits(uint256,uint256).price (lib/vault-v2/src/ReaperSwapper.sol#438) is a local variable never initialized\n", - "markdown": "[ReaperSwapper._scaleChainlinkPriceByDigits(uint256,uint256).price](lib/vault-v2/src/ReaperSwapper.sol#L438) is a local variable never initialized\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L438", - "id": "27cbde03367f30635d8b77371e7fe0b61d5b5de3c5ad430c3fe3e8002aed8a7d", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "tokenInFound", - "source_mapping": { - "start": 3290, - "length": 17, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 83 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_updateBalSwapPoolID", - "source_mapping": { - "start": 2960, - "length": 817, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_updateBalSwapPoolID(address,address,address,bytes32)" - } - } - } - } - ], - "description": "BalMixin._updateBalSwapPoolID(address,address,address,bytes32).tokenInFound (lib/vault-v2/src/mixins/BalMixin.sol#83) is a local variable never initialized\n", - "markdown": "[BalMixin._updateBalSwapPoolID(address,address,address,bytes32).tokenInFound](lib/vault-v2/src/mixins/BalMixin.sol#L83) is a local variable never initialized\n", - "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L83", - "id": "48805492cb64113a3a35ed5ba8c0a2076b664bcd2d067470ba0a3252ebba42b4", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "funds", - "source_mapping": { - "start": 1661, - "length": 38, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 47 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - } - } - ], - "description": "BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool).funds (lib/vault-v2/src/mixins/BalMixin.sol#49) is a local variable never initialized\n", - "markdown": "[BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool).funds](lib/vault-v2/src/mixins/BalMixin.sol#L49) is a local variable never initialized\n", - "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L49", - "id": "4c14c7b594bf15697ba30539c9ac4c614c10333e52070092d201336e75377b3e", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "singleSwap", - "source_mapping": { - "start": 1350, - "length": 39, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 41 - ], - "starting_column": 9, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - } - } - ], - "description": "BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool).singleSwap (lib/vault-v2/src/mixins/BalMixin.sol#41) is a local variable never initialized\n", - "markdown": "[BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool).singleSwap](lib/vault-v2/src/mixins/BalMixin.sol#L41) is a local variable never initialized\n", - "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L41", - "id": "509fe1a6ba376f87af1d863abc8d6ee153c0a98eb4717a73f4e55d593f047ad6", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "predictedOutput", - "source_mapping": { - "start": 1332, - "length": 23, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 39 - ], - "starting_column": 9, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - } - } - ], - "description": "VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool).predictedOutput (lib/vault-v2/src/mixins/VeloSolidMixin.sol#39) is a local variable never initialized\n", - "markdown": "[VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool).predictedOutput](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L39) is a local variable never initialized\n", - "first_markdown_element": "lib/vault-v2/src/mixins/VeloSolidMixin.sol#L39", - "id": "938d047c5ec8d17161f658c71b9aa0d91ba330139bbace224c8a03181655b082", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "tokenOutFound", - "source_mapping": { - "start": 3317, - "length": 18, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 84 - ], - "starting_column": 9, - "ending_column": 27 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_updateBalSwapPoolID", - "source_mapping": { - "start": 2960, - "length": 817, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_updateBalSwapPoolID(address,address,address,bytes32)" - } - } - } - } - ], - "description": "BalMixin._updateBalSwapPoolID(address,address,address,bytes32).tokenOutFound (lib/vault-v2/src/mixins/BalMixin.sol#84) is a local variable never initialized\n", - "markdown": "[BalMixin._updateBalSwapPoolID(address,address,address,bytes32).tokenOutFound](lib/vault-v2/src/mixins/BalMixin.sol#L84) is a local variable never initialized\n", - "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L84", - "id": "c74cd6285af530132a8fd4c04509ac76724208d2ddf2f11af35efb8fcc996c55", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_revokeRole", - "source_mapping": { - "start": 2572, - "length": 171, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 66, - 67, - 68, - 69 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AccessControlEnumerableUpgradeable", - "source_mapping": { - "start": 431, - "length": 2605, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_revokeRole(bytes32,address)" - } - }, - { - "type": "node", - "name": "_roleMembers[role].remove(account)", - "source_mapping": { - "start": 2702, - "length": 34, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 68 - ], - "starting_column": 9, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_revokeRole", - "source_mapping": { - "start": 2572, - "length": 171, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 66, - 67, - 68, - 69 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AccessControlEnumerableUpgradeable", - "source_mapping": { - "start": 431, - "length": 2605, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_revokeRole(bytes32,address)" - } - } - } - } - ], - "description": "AccessControlEnumerableUpgradeable._revokeRole(bytes32,address) (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#66-69) ignores return value by _roleMembers[role].remove(account) (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#68)\n", - "markdown": "[AccessControlEnumerableUpgradeable._revokeRole(bytes32,address)](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L66-L69) ignores return value by [_roleMembers[role].remove(account)](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L68)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L66-L69", - "id": "076f76790b4c8e077be1617bcc82f2d4381a7a10e8cf41bc646d5208e1b6869d", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getPrice", - "source_mapping": { - "start": 3653, - "length": 2015, - "filename_relative": "src/oracles/UniswapV3Oracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", - "filename_short": "src/oracles/UniswapV3Oracle.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniswapV3Oracle", - "source_mapping": { - "start": 729, - "length": 6210, - "filename_relative": "src/oracles/UniswapV3Oracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", - "filename_short": "src/oracles/UniswapV3Oracle.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getPrice()" - } - }, - { - "type": "node", - "name": "(tickCumulatives,None) = uniswapPool.observe(secondsAgo)", - "source_mapping": { - "start": 4489, - "length": 67, - "filename_relative": "src/oracles/UniswapV3Oracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", - "filename_short": "src/oracles/UniswapV3Oracle.sol", - "is_dependency": false, - "lines": [ - 107 - ], - "starting_column": 13, - "ending_column": 80 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getPrice", - "source_mapping": { - "start": 3653, - "length": 2015, - "filename_relative": "src/oracles/UniswapV3Oracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", - "filename_short": "src/oracles/UniswapV3Oracle.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniswapV3Oracle", - "source_mapping": { - "start": 729, - "length": 6210, - "filename_relative": "src/oracles/UniswapV3Oracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", - "filename_short": "src/oracles/UniswapV3Oracle.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getPrice()" - } - } - } - } - ], - "description": "UniswapV3Oracle.getPrice() (src/oracles/UniswapV3Oracle.sol#88-127) ignores return value by (tickCumulatives,None) = uniswapPool.observe(secondsAgo) (src/oracles/UniswapV3Oracle.sol#107)\n", - "markdown": "[UniswapV3Oracle.getPrice()](src/oracles/UniswapV3Oracle.sol#L88-L127) ignores return value by [(tickCumulatives,None) = uniswapPool.observe(secondsAgo)](src/oracles/UniswapV3Oracle.sol#L107)\n", - "first_markdown_element": "src/oracles/UniswapV3Oracle.sol#L88-L127", - "id": "15eb9ed8c87b71a5d2ecedd3aa7b4a47cffcd9c5e79ee7bd0e04e3b4eaa86f54", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_updateBalSwapPoolID", - "source_mapping": { - "start": 2960, - "length": 817, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_updateBalSwapPoolID(address,address,address,bytes32)" - } - }, - { - "type": "node", - "name": "(poolTokens,None,None) = IBeetVault(_vault).getPoolTokens(_poolID)", - "source_mapping": { - "start": 3222, - "length": 58, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 82 - ], - "starting_column": 9, - "ending_column": 67 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_updateBalSwapPoolID", - "source_mapping": { - "start": 2960, - "length": 817, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_updateBalSwapPoolID(address,address,address,bytes32)" - } - } - } - } - ], - "description": "BalMixin._updateBalSwapPoolID(address,address,address,bytes32) (lib/vault-v2/src/mixins/BalMixin.sol#79-94) ignores return value by (poolTokens,None,None) = IBeetVault(_vault).getPoolTokens(_poolID) (lib/vault-v2/src/mixins/BalMixin.sol#82)\n", - "markdown": "[BalMixin._updateBalSwapPoolID(address,address,address,bytes32)](lib/vault-v2/src/mixins/BalMixin.sol#L79-L94) ignores return value by [(poolTokens,None,None) = IBeetVault(_vault).getPoolTokens(_poolID)](lib/vault-v2/src/mixins/BalMixin.sol#L82)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L79-L94", - "id": "22489e462e2576b06930c1d8cbfbae2e2b553f01d03f9ecb4dda6fe8f67db3c9", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_getCurrentChainlinkResponse", - "source_mapping": { - "start": 13273, - "length": 1334, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_getCurrentChainlinkResponse(address)" - } - }, - { - "type": "node", - "name": "(roundId,answer,timestamp) = aggregatorData[_token].aggregator.latestRoundData()", - "source_mapping": { - "start": 13924, - "length": 677, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_getCurrentChainlinkResponse", - "source_mapping": { - "start": 13273, - "length": 1334, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_getCurrentChainlinkResponse(address)" - } - } - } - } - ], - "description": "ReaperSwapper._getCurrentChainlinkResponse(address) (lib/vault-v2/src/ReaperSwapper.sol#345-373) ignores return value by (roundId,answer,timestamp) = aggregatorData[_token].aggregator.latestRoundData() (lib/vault-v2/src/ReaperSwapper.sol#360-372)\n", - "markdown": "[ReaperSwapper._getCurrentChainlinkResponse(address)](lib/vault-v2/src/ReaperSwapper.sol#L345-L373) ignores return value by [(roundId,answer,timestamp) = aggregatorData[_token].aggregator.latestRoundData()](lib/vault-v2/src/ReaperSwapper.sol#L360-L372)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L345-L373", - "id": "30b0452c36c12660b86348533df68749bf1fea5021fb22dbd899a99575905585", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_getPrevChainlinkResponse", - "source_mapping": { - "start": 14613, - "length": 1317, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_getPrevChainlinkResponse(address,uint80,uint8)" - } - }, - { - "type": "node", - "name": "(roundId,answer,timestamp) = aggregatorData[_token].aggregator.getRoundData(_currentRoundId - 1)", - "source_mapping": { - "start": 15144, - "length": 780, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_getPrevChainlinkResponse", - "source_mapping": { - "start": 14613, - "length": 1317, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_getPrevChainlinkResponse(address,uint80,uint8)" - } - } - } - } - ], - "description": "ReaperSwapper._getPrevChainlinkResponse(address,uint80,uint8) (lib/vault-v2/src/ReaperSwapper.sol#375-400) ignores return value by (roundId,answer,timestamp) = aggregatorData[_token].aggregator.getRoundData(_currentRoundId - 1) (lib/vault-v2/src/ReaperSwapper.sol#386-399)\n", - "markdown": "[ReaperSwapper._getPrevChainlinkResponse(address,uint80,uint8)](lib/vault-v2/src/ReaperSwapper.sol#L375-L400) ignores return value by [(roundId,answer,timestamp) = aggregatorData[_token].aggregator.getRoundData(_currentRoundId - 1)](lib/vault-v2/src/ReaperSwapper.sol#L386-L399)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L375-L400", - "id": "3fb1d4622d7ea931b3c26311ca8702c2ec8cb0af6eb5ecafd74d274ba139f513", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_grantRole", - "source_mapping": { - "start": 2317, - "length": 166, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 58, - 59, - 60, - 61 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AccessControlEnumerableUpgradeable", - "source_mapping": { - "start": 431, - "length": 2605, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_grantRole(bytes32,address)" - } - }, - { - "type": "node", - "name": "_roleMembers[role].add(account)", - "source_mapping": { - "start": 2445, - "length": 31, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 60 - ], - "starting_column": 9, - "ending_column": 40 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_grantRole", - "source_mapping": { - "start": 2317, - "length": 166, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 58, - 59, - 60, - 61 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AccessControlEnumerableUpgradeable", - "source_mapping": { - "start": 431, - "length": 2605, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_grantRole(bytes32,address)" - } - } - } - } - ], - "description": "AccessControlEnumerableUpgradeable._grantRole(bytes32,address) (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#58-61) ignores return value by _roleMembers[role].add(account) (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#60)\n", - "markdown": "[AccessControlEnumerableUpgradeable._grantRole(bytes32,address)](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L58-L61) ignores return value by [_roleMembers[role].add(account)](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L60)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L58-L61", - "id": "620dfa605cb7ea36269a8d3b9fa9056080aa44ef8b103b528893398de697d7d3", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - }, - { - "type": "node", - "name": "underlyingToken.approve(swapProps.swapper,feeAmount)", - "source_mapping": { - "start": 8058, - "length": 53, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 213 - ], - "starting_column": 13, - "ending_column": 66 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - } - } - ], - "description": "DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231) ignores return value by underlyingToken.approve(swapProps.swapper,feeAmount) (src/exercise/DiscountExercise.sol#213)\n", - "markdown": "[DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231) ignores return value by [underlyingToken.approve(swapProps.swapper,feeAmount)](src/exercise/DiscountExercise.sol#L213)\n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", - "id": "684b7ed11ac84490d20969fb21d74aa2d08d45cf6922ba41e4132debc88f1a3e", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 3156, - "length": 831, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalancerOracle", - "source_mapping": { - "start": 892, - "length": 6454, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(IBalancerTwapOracle,address,address,uint56,uint56,uint128)" - } - }, - { - "type": "node", - "name": "(poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle_.getPoolId())", - "source_mapping": { - "start": 3415, - "length": 86, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 78 - ], - "starting_column": 9, - "ending_column": 95 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 3156, - "length": 831, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalancerOracle", - "source_mapping": { - "start": 892, - "length": 6454, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(IBalancerTwapOracle,address,address,uint56,uint56,uint128)" - } - } - } - } - ], - "description": "BalancerOracle.constructor(IBalancerTwapOracle,address,address,uint56,uint56,uint128) (src/oracles/BalancerOracle.sol#74-91) ignores return value by (poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle_.getPoolId()) (src/oracles/BalancerOracle.sol#78)\n", - "markdown": "[BalancerOracle.constructor(IBalancerTwapOracle,address,address,uint56,uint56,uint128)](src/oracles/BalancerOracle.sol#L74-L91) ignores return value by [(poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle_.getPoolId())](src/oracles/BalancerOracle.sol#L78)\n", - "first_markdown_element": "src/oracles/BalancerOracle.sol#L74-L91", - "id": "7fd9ee00c28427211778cf2546b458bdf9a14aa5bafb1c4e696c75da94161789", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - }, - { - "type": "node", - "name": "_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2778, - "length": 79, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 79 - ], - "starting_column": 13, - "ending_column": 92 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - } - } - ], - "description": "SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address) (src/helpers/SwapHelper.sol#69-85) ignores return value by _swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#79)\n", - "markdown": "[SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address)](src/helpers/SwapHelper.sol#L69-L85) ignores return value by [_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L79)\n", - "first_markdown_element": "src/helpers/SwapHelper.sol#L69-L85", - "id": "905ebf5e0a77bb5ce6a9956a5a938b3fb57ccd447db79e52f28c190ad2b098fc", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - }, - { - "type": "node", - "name": "_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2488, - "length": 80, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 75 - ], - "starting_column": 13, - "ending_column": 93 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - } - } - ], - "description": "SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address) (src/helpers/SwapHelper.sol#69-85) ignores return value by _swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#75)\n", - "markdown": "[SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address)](src/helpers/SwapHelper.sol#L69-L85) ignores return value by [_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L75)\n", - "first_markdown_element": "src/helpers/SwapHelper.sol#L69-L85", - "id": "94dc018090e15555f5a24f270bc2a4e251aa4fd683d1ad6da53e29b9ce36dfc0", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - }, - { - "type": "node", - "name": "_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2631, - "length": 78, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 77 - ], - "starting_column": 13, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - } - } - ], - "description": "SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address) (src/helpers/SwapHelper.sol#69-85) ignores return value by _swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#77)\n", - "markdown": "[SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address)](src/helpers/SwapHelper.sol#L69-L85) ignores return value by [_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L77)\n", - "first_markdown_element": "src/helpers/SwapHelper.sol#L69-L85", - "id": "a1f5da77f45788e0404eeff5cf6f3e525a4c1f9dfd972ea1146ab141aae64f48", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_addLiquidityUniV2", - "source_mapping": { - "start": 2970, - "length": 603, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_addLiquidityUniV2(address,address,address,uint256)" - } - }, - { - "type": "node", - "name": "IUniswapV2Router02(_router).addLiquidity(_lpToken0,_lpToken1,lp0Bal,lp1Bal,0,0,address(this),_deadline)", - "source_mapping": { - "start": 3416, - "length": 140, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 85, - 86, - 87 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_addLiquidityUniV2", - "source_mapping": { - "start": 2970, - "length": 603, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_addLiquidityUniV2(address,address,address,uint256)" - } - } - } - } - ], - "description": "UniV2Mixin._addLiquidityUniV2(address,address,address,uint256) (lib/vault-v2/src/mixins/UniV2Mixin.sol#78-89) ignores return value by IUniswapV2Router02(_router).addLiquidity(_lpToken0,_lpToken1,lp0Bal,lp1Bal,0,0,address(this),_deadline) (lib/vault-v2/src/mixins/UniV2Mixin.sol#85-87)\n", - "markdown": "[UniV2Mixin._addLiquidityUniV2(address,address,address,uint256)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L78-L89) ignores return value by [IUniswapV2Router02(_router).addLiquidity(_lpToken0,_lpToken1,lp0Bal,lp1Bal,0,0,address(this),_deadline)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L85-L87)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/UniV2Mixin.sol#L78-L89", - "id": "b6d4c23ffa7d93ea78b806ecab3d05e76b1b931c562033f0be3f688a2bf5138c", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - }, - { - "type": "node", - "name": "_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2922, - "length": 80, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 81 - ], - "starting_column": 13, - "ending_column": 93 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - } - } - ], - "description": "SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address) (src/helpers/SwapHelper.sol#69-85) ignores return value by _swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#81)\n", - "markdown": "[SwapHelper._generalSwap(ExchangeType,address,address,uint256,uint256,address)](src/helpers/SwapHelper.sol#L69-L85) ignores return value by [_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L81)\n", - "first_markdown_element": "src/helpers/SwapHelper.sol#L69-L85", - "id": "ba75e8f4ffb4c65ddb6f1b12480fd59208ad29a142771fab28ee7f7006c98513", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getTokens", - "source_mapping": { - "start": 5915, - "length": 481, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalancerOracle", - "source_mapping": { - "start": 892, - "length": 6454, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTokens()" - } - }, - { - "type": "node", - "name": "(poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle.getPoolId())", - "source_mapping": { - "start": 6079, - "length": 85, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 140 - ], - "starting_column": 9, - "ending_column": 94 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTokens", - "source_mapping": { - "start": 5915, - "length": 481, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalancerOracle", - "source_mapping": { - "start": 892, - "length": 6454, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTokens()" - } - } - } - } - ], - "description": "BalancerOracle.getTokens() (src/oracles/BalancerOracle.sol#138-148) ignores return value by (poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle.getPoolId()) (src/oracles/BalancerOracle.sol#140)\n", - "markdown": "[BalancerOracle.getTokens()](src/oracles/BalancerOracle.sol#L138-L148) ignores return value by [(poolTokens,None,None) = vault.getPoolTokens(balancerTwapOracle.getPoolId())](src/oracles/BalancerOracle.sol#L140)\n", - "first_markdown_element": "src/oracles/BalancerOracle.sol#L138-L148", - "id": "d1f99ec9ea9af88978409bc1c5b1676b709fd00041f617d279f7f6efb7773e9a", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "liquidity", - "source_mapping": { - "start": 5469, - "length": 17, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "is_dependency": true, - "lines": [ - 93 - ], - "starting_column": 13, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "positions", - "source_mapping": { - "start": 5377, - "length": 278, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "is_dependency": true, - "lines": [ - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98 - ], - "starting_column": 5, - "ending_column": 11 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IUniswapV3PoolState", - "source_mapping": { - "start": 240, - "length": 6425, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "positions(bytes32)" - } - } - } - }, - { - "type": "function", - "name": "liquidity", - "source_mapping": { - "start": 2725, - "length": 53, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "is_dependency": true, - "lines": [ - 49 - ], - "starting_column": 5, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IUniswapV3PoolState", - "source_mapping": { - "start": 240, - "length": 6425, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "liquidity()" - } - } - ], - "description": "IUniswapV3PoolState.positions(bytes32).liquidity (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#93) shadows:\n\t- IUniswapV3PoolState.liquidity() (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#49) (function)\n", - "markdown": "[IUniswapV3PoolState.positions(bytes32).liquidity](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#L93) shadows:\n\t- [IUniswapV3PoolState.liquidity()](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#L49) (function)\n", - "first_markdown_element": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#L93", - "id": "5e13c1a5ae4fc039231766295753ab663fafa45e8223c9c0d6c847752e70753f", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "setMinAmountToTriggerSwap", - "source_mapping": { - "start": 6507, - "length": 152, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 179, - 180, - 181 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setMinAmountToTriggerSwap(uint256)" - } - }, - { - "type": "node", - "name": "minAmountToTriggerSwap = _minAmountToTriggerSwap", - "source_mapping": { - "start": 6604, - "length": 48, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 180 - ], - "starting_column": 9, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setMinAmountToTriggerSwap", - "source_mapping": { - "start": 6507, - "length": 152, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 179, - 180, - 181 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setMinAmountToTriggerSwap(uint256)" - } - } - } - } - ], - "description": "DiscountExercise.setMinAmountToTriggerSwap(uint256) (src/exercise/DiscountExercise.sol#179-181) should emit an event for: \n\t- minAmountToTriggerSwap = _minAmountToTriggerSwap (src/exercise/DiscountExercise.sol#180) \n", - "markdown": "[DiscountExercise.setMinAmountToTriggerSwap(uint256)](src/exercise/DiscountExercise.sol#L179-L181) should emit an event for: \n\t- [minAmountToTriggerSwap = _minAmountToTriggerSwap](src/exercise/DiscountExercise.sol#L180) \n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L179-L181", - "id": "99c71da5f770edb1feb1845717d2ccb74eb2dfef272d225e93ebde0b29ec024c", - "check": "events-maths", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "newOwner", - "source_mapping": { - "start": 1339, - "length": 16, - "filename_relative": "lib/solmate/src/auth/Owned.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", - "filename_short": "lib/solmate/src/auth/Owned.sol", - "is_dependency": true, - "lines": [ - 39 - ], - "starting_column": 32, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferOwnership", - "source_mapping": { - "start": 1312, - "length": 161, - "filename_relative": "lib/solmate/src/auth/Owned.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", - "filename_short": "lib/solmate/src/auth/Owned.sol", - "is_dependency": true, - "lines": [ - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Owned", - "source_mapping": { - "start": 215, - "length": 1260, - "filename_relative": "lib/solmate/src/auth/Owned.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", - "filename_short": "lib/solmate/src/auth/Owned.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferOwnership(address)" - } - } - } - }, - { - "type": "node", - "name": "owner = newOwner", - "source_mapping": { - "start": 1392, - "length": 16, - "filename_relative": "lib/solmate/src/auth/Owned.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", - "filename_short": "lib/solmate/src/auth/Owned.sol", - "is_dependency": true, - "lines": [ - 40 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferOwnership", - "source_mapping": { - "start": 1312, - "length": 161, - "filename_relative": "lib/solmate/src/auth/Owned.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", - "filename_short": "lib/solmate/src/auth/Owned.sol", - "is_dependency": true, - "lines": [ - 39, - 40, - 41, - 42, - 43 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Owned", - "source_mapping": { - "start": 215, - "length": 1260, - "filename_relative": "lib/solmate/src/auth/Owned.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", - "filename_short": "lib/solmate/src/auth/Owned.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferOwnership(address)" - } - } - } - } - ], - "description": "Owned.transferOwnership(address).newOwner (lib/solmate/src/auth/Owned.sol#39) lacks a zero-check on :\n\t\t- owner = newOwner (lib/solmate/src/auth/Owned.sol#40)\n", - "markdown": "[Owned.transferOwnership(address).newOwner](lib/solmate/src/auth/Owned.sol#L39) lacks a zero-check on :\n\t\t- [owner = newOwner](lib/solmate/src/auth/Owned.sol#L40)\n", - "first_markdown_element": "lib/solmate/src/auth/Owned.sol#L39", - "id": "42c5c3a31d57316a6a42a25af3d5437866fe31ad7d20faa9c9e90a828458a168", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "tokenAdmin_", - "source_mapping": { - "start": 2629, - "length": 19, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 69, - "ending_column": 88 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 2565, - "length": 279, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "initialize(string,string,address)" - } - } - } - }, - { - "type": "node", - "name": "tokenAdmin = tokenAdmin_", - "source_mapping": { - "start": 2779, - "length": 24, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 64 - ], - "starting_column": 9, - "ending_column": 33 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 2565, - "length": 279, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "initialize(string,string,address)" - } - } - } - } - ], - "description": "OptionsToken.initialize(string,string,address).tokenAdmin_ (src/OptionsToken.sol#60) lacks a zero-check on :\n\t\t- tokenAdmin = tokenAdmin_ (src/OptionsToken.sol#64)\n", - "markdown": "[OptionsToken.initialize(string,string,address).tokenAdmin_](src/OptionsToken.sol#L60) lacks a zero-check on :\n\t\t- [tokenAdmin = tokenAdmin_](src/OptionsToken.sol#L64)\n", - "first_markdown_element": "src/OptionsToken.sol#L60", - "id": "4786a41866df4f4d6e9a53f76306dff86aa5c64f249a5507c66f1281e3a75404", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "_nextImplementation", - "source_mapping": { - "start": 6725, - "length": 27, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 162 - ], - "starting_column": 38, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "initiateUpgradeCooldown", - "source_mapping": { - "start": 6692, - "length": 185, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 162, - 163, - 164, - 165 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "initiateUpgradeCooldown(address)" - } - } - } - }, - { - "type": "node", - "name": "nextImplementation = _nextImplementation", - "source_mapping": { - "start": 6830, - "length": 40, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 164 - ], - "starting_column": 9, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "initiateUpgradeCooldown", - "source_mapping": { - "start": 6692, - "length": 185, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 162, - 163, - 164, - 165 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "initiateUpgradeCooldown(address)" - } - } - } - } - ], - "description": "OptionsToken.initiateUpgradeCooldown(address)._nextImplementation (src/OptionsToken.sol#162) lacks a zero-check on :\n\t\t- nextImplementation = _nextImplementation (src/OptionsToken.sol#164)\n", - "markdown": "[OptionsToken.initiateUpgradeCooldown(address)._nextImplementation](src/OptionsToken.sol#L162) lacks a zero-check on :\n\t\t- [nextImplementation = _nextImplementation](src/OptionsToken.sol#L164)\n", - "first_markdown_element": "src/OptionsToken.sol#L162", - "id": "752bb74930b6ee11a2722c36161d6ff0d00b9bc921cae3c938a9df7a3d0a692e", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_pay", - "source_mapping": { - "start": 9913, - "length": 415, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_pay(address,uint256)" - } - }, - { - "type": "node", - "name": "underlyingToken.safeTransfer(to,balance)", - "source_mapping": { - "start": 10112, - "length": 41, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 256 - ], - "starting_column": 13, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_pay", - "source_mapping": { - "start": 9913, - "length": 415, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_pay(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "underlyingToken.safeTransfer(to,amount)", - "source_mapping": { - "start": 10232, - "length": 40, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 259 - ], - "starting_column": 13, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_pay", - "source_mapping": { - "start": 9913, - "length": 415, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_pay(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "underlyingToken.safeTransfer(to,balance)", - "source_mapping": { - "start": 10112, - "length": 41, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 256 - ], - "starting_column": 13, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_pay", - "source_mapping": { - "start": 9913, - "length": 415, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_pay(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "underlyingToken.safeTransfer(to,amount)", - "source_mapping": { - "start": 10232, - "length": 40, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 259 - ], - "starting_column": 13, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_pay", - "source_mapping": { - "start": 9913, - "length": 415, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_pay(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "credit[to] += remainingAmount", - "source_mapping": { - "start": 10292, - "length": 29, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 261 - ], - "starting_column": 9, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_pay", - "source_mapping": { - "start": 9913, - "length": 415, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_pay(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "credit" - } - } - ], - "description": "Reentrancy in DiscountExercise._pay(address,uint256) (src/exercise/DiscountExercise.sol#253-262):\n\tExternal calls:\n\t- underlyingToken.safeTransfer(to,balance) (src/exercise/DiscountExercise.sol#256)\n\t- underlyingToken.safeTransfer(to,amount) (src/exercise/DiscountExercise.sol#259)\n\tState variables written after the call(s):\n\t- credit[to] += remainingAmount (src/exercise/DiscountExercise.sol#261)\n", - "markdown": "Reentrancy in [DiscountExercise._pay(address,uint256)](src/exercise/DiscountExercise.sol#L253-L262):\n\tExternal calls:\n\t- [underlyingToken.safeTransfer(to,balance)](src/exercise/DiscountExercise.sol#L256)\n\t- [underlyingToken.safeTransfer(to,amount)](src/exercise/DiscountExercise.sol#L259)\n\tState variables written after the call(s):\n\t- [credit[to] += remainingAmount](src/exercise/DiscountExercise.sol#L261)\n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L253-L262", - "id": "90b417a7fb4fc819e0ffafdfc6e3850abd2a28d5ee88b307754c749fcc5ac59a", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - }, - { - "type": "node", - "name": "_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", - "source_mapping": { - "start": 5527, - "length": 89, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 149 - ], - "starting_column": 9, - "ending_column": 98 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4166, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3747, - "length": 706, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20", - "source_mapping": { - "start": 707, - "length": 3748, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeIncreaseAllowance(_router,_amount)", - "source_mapping": { - "start": 1488, - "length": 53, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", - "source_mapping": { - "start": 1662, - "length": 422, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeApprove(_router,0)", - "source_mapping": { - "start": 1954, - "length": 37, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 51 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", - "source_mapping": { - "start": 2114, - "length": 167, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 55, - 56, - 57 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pullFromBefore(_from,_amount)", - "source_mapping": { - "start": 5342, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 147 - ], - "starting_column": 14, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4298, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3868, - "length": 717, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20Upgradeable", - "source_mapping": { - "start": 740, - "length": 3847, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)", - "source_mapping": { - "start": 19490, - "length": 85, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 485 - ], - "starting_column": 9, - "ending_column": 94 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pullFromBefore", - "source_mapping": { - "start": 19424, - "length": 169, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 484, - 485, - 486, - 487 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pullFromBefore(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pushFromAndToAfter(_from,_to)", - "source_mapping": { - "start": 5373, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 147 - ], - "starting_column": 45, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4298, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3868, - "length": 717, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20Upgradeable", - "source_mapping": { - "start": 740, - "length": 3847, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)", - "source_mapping": { - "start": 19793, - "length": 66, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 493 - ], - "starting_column": 13, - "ending_column": 79 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pushFromAndToAfter", - "source_mapping": { - "start": 19599, - "length": 470, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pushFromAndToAfter(address,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)", - "source_mapping": { - "start": 19990, - "length": 62, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 497 - ], - "starting_column": 13, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pushFromAndToAfter", - "source_mapping": { - "start": 19599, - "length": 470, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pushFromAndToAfter(address,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", - "source_mapping": { - "start": 5527, - "length": 89, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 149 - ], - "starting_column": 9, - "ending_column": 98 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pullFromBefore(_from,_amount)", - "source_mapping": { - "start": 5342, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 147 - ], - "starting_column": 14, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pushFromAndToAfter(_from,_to)", - "source_mapping": { - "start": 5373, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 147 - ], - "starting_column": 45, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "GetAmountsOutFailed(_router,_amount,_from,_to)", - "source_mapping": { - "start": 1323, - "length": 54, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 37 - ], - "starting_column": 13, - "ending_column": 67 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - }, - { - "type": "node", - "name": "_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", - "source_mapping": { - "start": 5527, - "length": 89, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 149 - ], - "starting_column": 9, - "ending_column": 98 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - }, - { - "type": "node", - "name": "SwapFailed(_router,_amount,_minAmountOut,_from,_to)", - "source_mapping": { - "start": 2009, - "length": 60, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 52 - ], - "starting_column": 17, - "ending_column": 77 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - }, - { - "type": "node", - "name": "_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", - "source_mapping": { - "start": 5527, - "length": 89, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 149 - ], - "starting_column": 9, - "ending_column": 98 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool) (lib/vault-v2/src/ReaperSwapper.sol#139-150):\n\tExternal calls:\n\t- _swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#149)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- IERC20(_from).safeIncreaseAllowance(_router,_amount) (lib/vault-v2/src/mixins/UniV2Mixin.sol#42)\n\t\t- IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/UniV2Mixin.sol#46-53)\n\t\t- IERC20(_from).safeApprove(_router,0) (lib/vault-v2/src/mixins/UniV2Mixin.sol#51)\n\t\t- IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/UniV2Mixin.sol#55-57)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#147)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount) (lib/vault-v2/src/ReaperSwapper.sol#485)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#147)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal) (lib/vault-v2/src/ReaperSwapper.sol#493)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t\t- IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal) (lib/vault-v2/src/ReaperSwapper.sol#497)\n\tExternal calls sending eth:\n\t- _swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#149)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#147)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#147)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\tEvent emitted after the call(s):\n\t- GetAmountsOutFailed(_router,_amount,_from,_to) (lib/vault-v2/src/mixins/UniV2Mixin.sol#37)\n\t\t- _swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#149)\n\t- SwapFailed(_router,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/UniV2Mixin.sol#52)\n\t\t- _swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#149)\n", - "markdown": "Reentrancy in [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)](lib/vault-v2/src/ReaperSwapper.sol#L139-L150):\n\tExternal calls:\n\t- [_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L149)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [IERC20(_from).safeIncreaseAllowance(_router,_amount)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L42)\n\t\t- [IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L46-L53)\n\t\t- [IERC20(_from).safeApprove(_router,0)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L51)\n\t\t- [IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L55-L57)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L147)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)](lib/vault-v2/src/ReaperSwapper.sol#L485)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L147)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)](lib/vault-v2/src/ReaperSwapper.sol#L493)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t\t- [IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)](lib/vault-v2/src/ReaperSwapper.sol#L497)\n\tExternal calls sending eth:\n\t- [_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L149)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L147)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L147)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\tEvent emitted after the call(s):\n\t- [GetAmountsOutFailed(_router,_amount,_from,_to)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L37)\n\t\t- [_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L149)\n\t- [SwapFailed(_router,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L52)\n\t\t- [_swapUniV2(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L149)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L139-L150", - "id": "10ddb26acba74e372c85b3164933929baee8d00e79dab8d38b7fdeed4f18d3a0", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - }, - { - "type": "node", - "name": "_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", - "source_mapping": { - "start": 7824, - "length": 88, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 217 - ], - "starting_column": 9, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4166, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3747, - "length": 706, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20", - "source_mapping": { - "start": 707, - "length": 3748, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeIncreaseAllowance(_router,_amount)", - "source_mapping": { - "start": 1784, - "length": 53, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 50 - ], - "starting_column": 9, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", - "source_mapping": { - "start": 1889, - "length": 401, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeApprove(_router,0)", - "source_mapping": { - "start": 2160, - "length": 37, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 57 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", - "source_mapping": { - "start": 2327, - "length": 210, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 62, - 63, - 64, - 65, - 66, - 67, - 68 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pullFromBefore(_from,_amount)", - "source_mapping": { - "start": 7639, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 215 - ], - "starting_column": 14, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4298, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3868, - "length": 717, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20Upgradeable", - "source_mapping": { - "start": 740, - "length": 3847, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)", - "source_mapping": { - "start": 19490, - "length": 85, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 485 - ], - "starting_column": 9, - "ending_column": 94 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pullFromBefore", - "source_mapping": { - "start": 19424, - "length": 169, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 484, - 485, - 486, - 487 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pullFromBefore(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pushFromAndToAfter(_from,_to)", - "source_mapping": { - "start": 7670, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 215 - ], - "starting_column": 45, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4298, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3868, - "length": 717, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20Upgradeable", - "source_mapping": { - "start": 740, - "length": 3847, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)", - "source_mapping": { - "start": 19793, - "length": 66, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 493 - ], - "starting_column": 13, - "ending_column": 79 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pushFromAndToAfter", - "source_mapping": { - "start": 19599, - "length": 470, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pushFromAndToAfter(address,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)", - "source_mapping": { - "start": 19990, - "length": 62, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 497 - ], - "starting_column": 13, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pushFromAndToAfter", - "source_mapping": { - "start": 19599, - "length": 470, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pushFromAndToAfter(address,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", - "source_mapping": { - "start": 7824, - "length": 88, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 217 - ], - "starting_column": 9, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pullFromBefore(_from,_amount)", - "source_mapping": { - "start": 7639, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 215 - ], - "starting_column": 14, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pushFromAndToAfter(_from,_to)", - "source_mapping": { - "start": 7670, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 215 - ], - "starting_column": 45, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "GetAmountsOutFailed(_router,_amount,_from,_to)", - "source_mapping": { - "start": 1619, - "length": 54, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 45 - ], - "starting_column": 13, - "ending_column": 67 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - }, - { - "type": "node", - "name": "_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", - "source_mapping": { - "start": 7824, - "length": 88, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 217 - ], - "starting_column": 9, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - }, - { - "type": "node", - "name": "SwapFailed(_router,_amount,_minAmountOut,_from,_to)", - "source_mapping": { - "start": 2215, - "length": 60, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 58 - ], - "starting_column": 17, - "ending_column": 77 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - }, - { - "type": "node", - "name": "_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)", - "source_mapping": { - "start": 7824, - "length": 88, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 217 - ], - "starting_column": 9, - "ending_column": 97 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool) (lib/vault-v2/src/ReaperSwapper.sol#207-218):\n\tExternal calls:\n\t- _swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#217)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- IERC20(_from).safeIncreaseAllowance(_router,_amount) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#50)\n\t\t- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#52-59)\n\t\t- IERC20(_from).safeApprove(_router,0) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#57)\n\t\t- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#62-68)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#215)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount) (lib/vault-v2/src/ReaperSwapper.sol#485)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#215)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal) (lib/vault-v2/src/ReaperSwapper.sol#493)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t\t- IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal) (lib/vault-v2/src/ReaperSwapper.sol#497)\n\tExternal calls sending eth:\n\t- _swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#217)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#215)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#215)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\tEvent emitted after the call(s):\n\t- GetAmountsOutFailed(_router,_amount,_from,_to) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#45)\n\t\t- _swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#217)\n\t- SwapFailed(_router,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#58)\n\t\t- _swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#217)\n", - "markdown": "Reentrancy in [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)](lib/vault-v2/src/ReaperSwapper.sol#L207-L218):\n\tExternal calls:\n\t- [_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L217)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [IERC20(_from).safeIncreaseAllowance(_router,_amount)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L50)\n\t\t- [router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L52-L59)\n\t\t- [IERC20(_from).safeApprove(_router,0)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L57)\n\t\t- [router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L62-L68)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L215)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)](lib/vault-v2/src/ReaperSwapper.sol#L485)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L215)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)](lib/vault-v2/src/ReaperSwapper.sol#L493)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t\t- [IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)](lib/vault-v2/src/ReaperSwapper.sol#L497)\n\tExternal calls sending eth:\n\t- [_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L217)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L215)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L215)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\tEvent emitted after the call(s):\n\t- [GetAmountsOutFailed(_router,_amount,_from,_to)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L45)\n\t\t- [_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L217)\n\t- [SwapFailed(_router,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L58)\n\t\t- [_swapVelo(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L217)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L207-L218", - "id": "19acbcb4d6835840db936ed70e0dddd5b1f9569d32cc2f3bbd64ec8e55f0a367", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_redeem", - "source_mapping": { - "start": 9155, - "length": 752, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" - } - }, - { - "type": "node", - "name": "distributeFeesFrom(paymentAmount,paymentToken,from)", - "source_mapping": { - "start": 9698, - "length": 53, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 246 - ], - "starting_column": 9, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_redeem", - "source_mapping": { - "start": 9155, - "length": 752, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4166, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3747, - "length": 706, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20", - "source_mapping": { - "start": 707, - "length": 3748, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "token.safeTransferFrom(from,feeRecipients[i],feeAmount)", - "source_mapping": { - "start": 3306, - "length": 57, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 79 - ], - "starting_column": 13, - "ending_column": 70 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFeesFrom", - "source_mapping": { - "start": 3017, - "length": 554, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFeesFrom(uint256,IERC20,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)", - "source_mapping": { - "start": 3419, - "length": 80, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 82 - ], - "starting_column": 9, - "ending_column": 89 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFeesFrom", - "source_mapping": { - "start": 3017, - "length": 554, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFeesFrom(uint256,IERC20,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_pay(recipient,amount)", - "source_mapping": { - "start": 9812, - "length": 23, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 248 - ], - "starting_column": 9, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_redeem", - "source_mapping": { - "start": 9155, - "length": 752, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4166, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3747, - "length": 706, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20", - "source_mapping": { - "start": 707, - "length": 3748, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "underlyingToken.safeTransfer(to,balance)", - "source_mapping": { - "start": 10112, - "length": 41, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 256 - ], - "starting_column": 13, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_pay", - "source_mapping": { - "start": 9913, - "length": 415, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_pay(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "underlyingToken.safeTransfer(to,amount)", - "source_mapping": { - "start": 10232, - "length": 40, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 259 - ], - "starting_column": 13, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_pay", - "source_mapping": { - "start": 9913, - "length": 415, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_pay(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "distributeFeesFrom(paymentAmount,paymentToken,from)", - "source_mapping": { - "start": 9698, - "length": 53, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 246 - ], - "starting_column": 9, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_redeem", - "source_mapping": { - "start": 9155, - "length": 752, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_pay(recipient,amount)", - "source_mapping": { - "start": 9812, - "length": 23, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 248 - ], - "starting_column": 9, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_redeem", - "source_mapping": { - "start": 9155, - "length": 752, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "Exercised(from,recipient,amount,paymentAmount)", - "source_mapping": { - "start": 9846, - "length": 54, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 250 - ], - "starting_column": 9, - "ending_column": 63 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_redeem", - "source_mapping": { - "start": 9155, - "length": 752, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in DiscountExercise._redeem(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#234-251):\n\tExternal calls:\n\t- distributeFeesFrom(paymentAmount,paymentToken,from) (src/exercise/DiscountExercise.sol#246)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- token.safeTransferFrom(from,feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#79)\n\t\t- token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#82)\n\t- _pay(recipient,amount) (src/exercise/DiscountExercise.sol#248)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- underlyingToken.safeTransfer(to,balance) (src/exercise/DiscountExercise.sol#256)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- underlyingToken.safeTransfer(to,amount) (src/exercise/DiscountExercise.sol#259)\n\tExternal calls sending eth:\n\t- distributeFeesFrom(paymentAmount,paymentToken,from) (src/exercise/DiscountExercise.sol#246)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t- _pay(recipient,amount) (src/exercise/DiscountExercise.sol#248)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\tEvent emitted after the call(s):\n\t- Exercised(from,recipient,amount,paymentAmount) (src/exercise/DiscountExercise.sol#250)\n", - "markdown": "Reentrancy in [DiscountExercise._redeem(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L234-L251):\n\tExternal calls:\n\t- [distributeFeesFrom(paymentAmount,paymentToken,from)](src/exercise/DiscountExercise.sol#L246)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [token.safeTransferFrom(from,feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L79)\n\t\t- [token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L82)\n\t- [_pay(recipient,amount)](src/exercise/DiscountExercise.sol#L248)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [underlyingToken.safeTransfer(to,balance)](src/exercise/DiscountExercise.sol#L256)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [underlyingToken.safeTransfer(to,amount)](src/exercise/DiscountExercise.sol#L259)\n\tExternal calls sending eth:\n\t- [distributeFeesFrom(paymentAmount,paymentToken,from)](src/exercise/DiscountExercise.sol#L246)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t- [_pay(recipient,amount)](src/exercise/DiscountExercise.sol#L248)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\tEvent emitted after the call(s):\n\t- [Exercised(from,recipient,amount,paymentAmount)](src/exercise/DiscountExercise.sol#L250)\n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L234-L251", - "id": "26caaa03d129daf1e06f63fba1f271327eb635ddffdba1b035775a48b226290d", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeIncreaseAllowance(_router,_amount)", - "source_mapping": { - "start": 1784, - "length": 53, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 50 - ], - "starting_column": 9, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", - "source_mapping": { - "start": 1889, - "length": 401, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeApprove(_router,0)", - "source_mapping": { - "start": 2160, - "length": 37, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 57 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "SwapFailed(_router,_amount,_minAmountOut,_from,_to)", - "source_mapping": { - "start": 2215, - "length": 60, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 58 - ], - "starting_column": 17, - "ending_column": 77 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#24-71):\n\tExternal calls:\n\t- IERC20(_from).safeIncreaseAllowance(_router,_amount) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#50)\n\t- router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#52-59)\n\t- IERC20(_from).safeApprove(_router,0) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#57)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_router,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#58)\n", - "markdown": "Reentrancy in [VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L24-L71):\n\tExternal calls:\n\t- [IERC20(_from).safeIncreaseAllowance(_router,_amount)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L50)\n\t- [router.swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L52-L59)\n\t- [IERC20(_from).safeApprove(_router,0)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L57)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_router,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L58)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/VeloSolidMixin.sol#L24-L71", - "id": "64eb188174f60b500640995e6c3c45d0308f915abcaa5e5dfe2a2d61bb334e63", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - }, - { - "type": "node", - "name": "_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)", - "source_mapping": { - "start": 6682, - "length": 86, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 183 - ], - "starting_column": 9, - "ending_column": 95 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4166, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3747, - "length": 706, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20", - "source_mapping": { - "start": 707, - "length": 3748, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance)", - "source_mapping": { - "start": 2092, - "length": 71, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 59 - ], - "starting_column": 13, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)", - "source_mapping": { - "start": 2294, - "length": 448, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeApprove(_vault,0)", - "source_mapping": { - "start": 2596, - "length": 36, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 69 - ], - "starting_column": 21, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "amountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)", - "source_mapping": { - "start": 2772, - "length": 80, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 74 - ], - "starting_column": 13, - "ending_column": 93 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pullFromBefore(_from,_amount)", - "source_mapping": { - "start": 6497, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 181 - ], - "starting_column": 14, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4298, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3868, - "length": 717, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20Upgradeable", - "source_mapping": { - "start": 740, - "length": 3847, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)", - "source_mapping": { - "start": 19490, - "length": 85, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 485 - ], - "starting_column": 9, - "ending_column": 94 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pullFromBefore", - "source_mapping": { - "start": 19424, - "length": 169, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 484, - 485, - 486, - 487 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pullFromBefore(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pushFromAndToAfter(_from,_to)", - "source_mapping": { - "start": 6528, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 181 - ], - "starting_column": 45, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4298, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3868, - "length": 717, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20Upgradeable", - "source_mapping": { - "start": 740, - "length": 3847, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)", - "source_mapping": { - "start": 19793, - "length": 66, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 493 - ], - "starting_column": 13, - "ending_column": 79 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pushFromAndToAfter", - "source_mapping": { - "start": 19599, - "length": 470, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pushFromAndToAfter(address,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)", - "source_mapping": { - "start": 19990, - "length": 62, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 497 - ], - "starting_column": 13, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pushFromAndToAfter", - "source_mapping": { - "start": 19599, - "length": 470, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pushFromAndToAfter(address,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)", - "source_mapping": { - "start": 6682, - "length": 86, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 183 - ], - "starting_column": 9, - "ending_column": 95 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pullFromBefore(_from,_amount)", - "source_mapping": { - "start": 6497, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 181 - ], - "starting_column": 14, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pushFromAndToAfter(_from,_to)", - "source_mapping": { - "start": 6528, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 181 - ], - "starting_column": 45, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "SwapFailed(_vault,_amount,_minAmountOut,_from,_to)", - "source_mapping": { - "start": 2668, - "length": 59, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 71 - ], - "starting_column": 17, - "ending_column": 76 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - }, - { - "type": "node", - "name": "_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)", - "source_mapping": { - "start": 6682, - "length": 86, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 183 - ], - "starting_column": 9, - "ending_column": 95 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool) (lib/vault-v2/src/ReaperSwapper.sol#173-184):\n\tExternal calls:\n\t- _swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#183)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance) (lib/vault-v2/src/mixins/BalMixin.sol#59)\n\t\t- tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline) (lib/vault-v2/src/mixins/BalMixin.sol#64-72)\n\t\t- IERC20(_from).safeApprove(_vault,0) (lib/vault-v2/src/mixins/BalMixin.sol#69)\n\t\t- amountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline) (lib/vault-v2/src/mixins/BalMixin.sol#74)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#181)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount) (lib/vault-v2/src/ReaperSwapper.sol#485)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#181)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal) (lib/vault-v2/src/ReaperSwapper.sol#493)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t\t- IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal) (lib/vault-v2/src/ReaperSwapper.sol#497)\n\tExternal calls sending eth:\n\t- _swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#183)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#181)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#181)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_vault,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/BalMixin.sol#71)\n\t\t- _swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive) (lib/vault-v2/src/ReaperSwapper.sol#183)\n", - "markdown": "Reentrancy in [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)](lib/vault-v2/src/ReaperSwapper.sol#L173-L184):\n\tExternal calls:\n\t- [_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L183)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance)](lib/vault-v2/src/mixins/BalMixin.sol#L59)\n\t\t- [tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)](lib/vault-v2/src/mixins/BalMixin.sol#L64-L72)\n\t\t- [IERC20(_from).safeApprove(_vault,0)](lib/vault-v2/src/mixins/BalMixin.sol#L69)\n\t\t- [amountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)](lib/vault-v2/src/mixins/BalMixin.sol#L74)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L181)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)](lib/vault-v2/src/ReaperSwapper.sol#L485)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L181)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)](lib/vault-v2/src/ReaperSwapper.sol#L493)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t\t- [IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)](lib/vault-v2/src/ReaperSwapper.sol#L497)\n\tExternal calls sending eth:\n\t- [_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L183)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L181)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L181)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_vault,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/BalMixin.sol#L71)\n\t\t- [_swapBal(_from,_to,_amount,minAmountOut,_vault,_deadline,_tryCatchActive)](lib/vault-v2/src/ReaperSwapper.sol#L183)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L173-L184", - "id": "6afd47a6cc546c6f39cd92034e38da33b560d04fbd75a1655a8c2dfb29e08cdd", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - }, - { - "type": "node", - "name": "TransferHelper.safeApprove(path[0],_params.router,_params.amount)", - "source_mapping": { - "start": 1708, - "length": 67, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 76 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "tmpAmountOut = ISwapRouter(_params.router).exactInput(params)", - "source_mapping": { - "start": 2186, - "length": 346, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "TransferHelper.safeApprove(path[0],_params.router,0)", - "source_mapping": { - "start": 2350, - "length": 54, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 63 - ], - "starting_column": 17, - "ending_column": 71 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to)", - "source_mapping": { - "start": 2422, - "length": 95, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 64 - ], - "starting_column": 17, - "ending_column": 112 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in UniV3Mixin._swapUniV3(UniV3Mixin.Params__swapUniV3) (lib/vault-v2/src/mixins/UniV3Mixin.sol#38-69):\n\tExternal calls:\n\t- TransferHelper.safeApprove(path[0],_params.router,_params.amount) (lib/vault-v2/src/mixins/UniV3Mixin.sol#49)\n\t- tmpAmountOut = ISwapRouter(_params.router).exactInput(params) (lib/vault-v2/src/mixins/UniV3Mixin.sol#60-65)\n\t- TransferHelper.safeApprove(path[0],_params.router,0) (lib/vault-v2/src/mixins/UniV3Mixin.sol#63)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to) (lib/vault-v2/src/mixins/UniV3Mixin.sol#64)\n", - "markdown": "Reentrancy in [UniV3Mixin._swapUniV3(UniV3Mixin.Params__swapUniV3)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L38-L69):\n\tExternal calls:\n\t- [TransferHelper.safeApprove(path[0],_params.router,_params.amount)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L49)\n\t- [tmpAmountOut = ISwapRouter(_params.router).exactInput(params)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L60-L65)\n\t- [TransferHelper.safeApprove(path[0],_params.router,0)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L63)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L64)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L38-L69", - "id": "7476c00ea23c811b6774a0358c1ce4170dea75590e0878323a36cacc5adb0379", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance)", - "source_mapping": { - "start": 2092, - "length": 71, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 59 - ], - "starting_column": 13, - "ending_column": 84 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)", - "source_mapping": { - "start": 2294, - "length": 448, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeApprove(_vault,0)", - "source_mapping": { - "start": 2596, - "length": 36, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 69 - ], - "starting_column": 21, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "SwapFailed(_vault,_amount,_minAmountOut,_from,_to)", - "source_mapping": { - "start": 2668, - "length": 59, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 71 - ], - "starting_column": 17, - "ending_column": 76 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/BalMixin.sol#25-76):\n\tExternal calls:\n\t- IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance) (lib/vault-v2/src/mixins/BalMixin.sol#59)\n\t- tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline) (lib/vault-v2/src/mixins/BalMixin.sol#64-72)\n\t- IERC20(_from).safeApprove(_vault,0) (lib/vault-v2/src/mixins/BalMixin.sol#69)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_vault,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/BalMixin.sol#71)\n", - "markdown": "Reentrancy in [BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/BalMixin.sol#L25-L76):\n\tExternal calls:\n\t- [IERC20(_from).safeIncreaseAllowance(_vault,_amount - currentAllowance)](lib/vault-v2/src/mixins/BalMixin.sol#L59)\n\t- [tmpAmountOut = IBeetVault(_vault).swap(singleSwap,funds,_minAmountOut,_deadline)](lib/vault-v2/src/mixins/BalMixin.sol#L64-L72)\n\t- [IERC20(_from).safeApprove(_vault,0)](lib/vault-v2/src/mixins/BalMixin.sol#L69)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_vault,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/BalMixin.sol#L71)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L25-L76", - "id": "77714ef1ffc67e587fe7e535481ee61f37a6029f67e7f2a1b6502b530a92b385", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_exercise", - "source_mapping": { - "start": 5470, - "length": 847, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_exercise(uint256,address,address,bytes)" - } - }, - { - "type": "node", - "name": "(paymentAmount,data0,data1,data2) = IExercise(option).exercise(msg.sender,amount,recipient,params)", - "source_mapping": { - "start": 6108, - "length": 104, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 148 - ], - "starting_column": 9, - "ending_column": 113 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_exercise", - "source_mapping": { - "start": 5470, - "length": 847, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_exercise(uint256,address,address,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "Exercise(msg.sender,recipient,amount,data0,data1,data2)", - "source_mapping": { - "start": 6245, - "length": 65, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 151 - ], - "starting_column": 9, - "ending_column": 74 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_exercise", - "source_mapping": { - "start": 5470, - "length": 847, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_exercise(uint256,address,address,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in OptionsToken._exercise(uint256,address,address,bytes) (src/OptionsToken.sol#128-152):\n\tExternal calls:\n\t- (paymentAmount,data0,data1,data2) = IExercise(option).exercise(msg.sender,amount,recipient,params) (src/OptionsToken.sol#148)\n\tEvent emitted after the call(s):\n\t- Exercise(msg.sender,recipient,amount,data0,data1,data2) (src/OptionsToken.sol#151)\n", - "markdown": "Reentrancy in [OptionsToken._exercise(uint256,address,address,bytes)](src/OptionsToken.sol#L128-L152):\n\tExternal calls:\n\t- [(paymentAmount,data0,data1,data2) = IExercise(option).exercise(msg.sender,amount,recipient,params)](src/OptionsToken.sol#L148)\n\tEvent emitted after the call(s):\n\t- [Exercise(msg.sender,recipient,amount,data0,data1,data2)](src/OptionsToken.sol#L151)\n", - "first_markdown_element": "src/OptionsToken.sol#L128-L152", - "id": "9647d6058a2a1f10ef7714d6f960ae5b85d86b4e1fcd2ffd512fd2031b5d6fe7", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeIncreaseAllowance(_router,_amount)", - "source_mapping": { - "start": 1488, - "length": 53, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 42 - ], - "starting_column": 9, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)", - "source_mapping": { - "start": 1662, - "length": 422, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "IERC20(_from).safeApprove(_router,0)", - "source_mapping": { - "start": 1954, - "length": 37, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 51 - ], - "starting_column": 17, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "SwapFailed(_router,_amount,_minAmountOut,_from,_to)", - "source_mapping": { - "start": 2009, - "length": 60, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 52 - ], - "starting_column": 17, - "ending_column": 77 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in UniV2Mixin._swapUniV2(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/UniV2Mixin.sol#20-60):\n\tExternal calls:\n\t- IERC20(_from).safeIncreaseAllowance(_router,_amount) (lib/vault-v2/src/mixins/UniV2Mixin.sol#42)\n\t- IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline) (lib/vault-v2/src/mixins/UniV2Mixin.sol#46-53)\n\t- IERC20(_from).safeApprove(_router,0) (lib/vault-v2/src/mixins/UniV2Mixin.sol#51)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_router,_amount,_minAmountOut,_from,_to) (lib/vault-v2/src/mixins/UniV2Mixin.sol#52)\n", - "markdown": "Reentrancy in [UniV2Mixin._swapUniV2(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L20-L60):\n\tExternal calls:\n\t- [IERC20(_from).safeIncreaseAllowance(_router,_amount)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L42)\n\t- [IUniswapV2Router02(_router).swapExactTokensForTokensSupportingFeeOnTransferTokens(_amount,_minAmountOut,path,address(this),_deadline)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L46-L53)\n\t- [IERC20(_from).safeApprove(_router,0)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L51)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_router,_amount,_minAmountOut,_from,_to)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L52)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/UniV2Mixin.sol#L20-L60", - "id": "b59ab902647dd201a6cd9aca4552dafa018066963efcc3219bd8955570f9b1e5", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "distributeFeesFrom", - "source_mapping": { - "start": 3017, - "length": 554, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFeesFrom(uint256,IERC20,address)" - } - }, - { - "type": "node", - "name": "token.safeTransferFrom(from,feeRecipients[i],feeAmount)", - "source_mapping": { - "start": 3306, - "length": 57, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 79 - ], - "starting_column": 13, - "ending_column": 70 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFeesFrom", - "source_mapping": { - "start": 3017, - "length": 554, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFeesFrom(uint256,IERC20,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)", - "source_mapping": { - "start": 3419, - "length": 80, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 82 - ], - "starting_column": 9, - "ending_column": 89 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFeesFrom", - "source_mapping": { - "start": 3017, - "length": 554, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFeesFrom(uint256,IERC20,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "DistributeFees(feeRecipients,feeBPS,totalAmount)", - "source_mapping": { - "start": 3509, - "length": 55, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 83 - ], - "starting_column": 9, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFeesFrom", - "source_mapping": { - "start": 3017, - "length": 554, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFeesFrom(uint256,IERC20,address)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in BaseExercise.distributeFeesFrom(uint256,IERC20,address) (src/exercise/BaseExercise.sol#75-84):\n\tExternal calls:\n\t- token.safeTransferFrom(from,feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#79)\n\t- token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#82)\n\tEvent emitted after the call(s):\n\t- DistributeFees(feeRecipients,feeBPS,totalAmount) (src/exercise/BaseExercise.sol#83)\n", - "markdown": "Reentrancy in [BaseExercise.distributeFeesFrom(uint256,IERC20,address)](src/exercise/BaseExercise.sol#L75-L84):\n\tExternal calls:\n\t- [token.safeTransferFrom(from,feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L79)\n\t- [token.safeTransferFrom(from,feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L82)\n\tEvent emitted after the call(s):\n\t- [DistributeFees(feeRecipients,feeBPS,totalAmount)](src/exercise/BaseExercise.sol#L83)\n", - "first_markdown_element": "src/exercise/BaseExercise.sol#L75-L84", - "id": "bf1b099632b824aafcfad9a23ac98bf3dcb6b4fb4b4b5ae04e209e3b61acc42f", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "distributeFees", - "source_mapping": { - "start": 3762, - "length": 604, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFees(uint256,IERC20)" - } - }, - { - "type": "node", - "name": "token.safeTransfer(feeRecipients[i],feeAmount)", - "source_mapping": { - "start": 4121, - "length": 47, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 94 - ], - "starting_column": 13, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFees", - "source_mapping": { - "start": 3762, - "length": 604, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFees(uint256,IERC20)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)", - "source_mapping": { - "start": 4224, - "length": 70, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 97 - ], - "starting_column": 9, - "ending_column": 79 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFees", - "source_mapping": { - "start": 3762, - "length": 604, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFees(uint256,IERC20)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "DistributeFees(feeRecipients,feeBPS,totalAmount)", - "source_mapping": { - "start": 4304, - "length": 55, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 98 - ], - "starting_column": 9, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFees", - "source_mapping": { - "start": 3762, - "length": 604, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFees(uint256,IERC20)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in BaseExercise.distributeFees(uint256,IERC20) (src/exercise/BaseExercise.sol#88-99):\n\tExternal calls:\n\t- token.safeTransfer(feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#94)\n\t- token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#97)\n\tEvent emitted after the call(s):\n\t- DistributeFees(feeRecipients,feeBPS,totalAmount) (src/exercise/BaseExercise.sol#98)\n", - "markdown": "Reentrancy in [BaseExercise.distributeFees(uint256,IERC20)](src/exercise/BaseExercise.sol#L88-L99):\n\tExternal calls:\n\t- [token.safeTransfer(feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L94)\n\t- [token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L97)\n\tEvent emitted after the call(s):\n\t- [DistributeFees(feeRecipients,feeBPS,totalAmount)](src/exercise/BaseExercise.sol#L98)\n", - "first_markdown_element": "src/exercise/BaseExercise.sol#L88-L99", - "id": "cc6f76bc69057bc8d1566793027f78e4e33511dc9a9f9b389b45a7c32f934e73", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - }, - { - "type": "node", - "name": "underlyingToken.approve(swapProps.swapper,feeAmount)", - "source_mapping": { - "start": 8058, - "length": 53, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 213 - ], - "starting_column": 13, - "ending_column": 66 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)", - "source_mapping": { - "start": 8277, - "length": 138, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 216 - ], - "starting_column": 13, - "ending_column": 151 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2488, - "length": 80, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 75 - ], - "starting_column": 13, - "ending_column": 93 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2631, - "length": 78, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 77 - ], - "starting_column": 13, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2778, - "length": 79, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 79 - ], - "starting_column": 13, - "ending_column": 92 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2922, - "length": 80, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 81 - ], - "starting_column": 13, - "ending_column": 93 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "distributeFees(paymentToken.balanceOf(address(this)),paymentToken)", - "source_mapping": { - "start": 8593, - "length": 67, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 220 - ], - "starting_column": 13, - "ending_column": 80 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4166, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3747, - "length": 706, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20", - "source_mapping": { - "start": 707, - "length": 3748, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "token.safeTransfer(feeRecipients[i],feeAmount)", - "source_mapping": { - "start": 4121, - "length": 47, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 94 - ], - "starting_column": 13, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFees", - "source_mapping": { - "start": 3762, - "length": 604, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFees(uint256,IERC20)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)", - "source_mapping": { - "start": 4224, - "length": 70, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 97 - ], - "starting_column": 9, - "ending_column": 79 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFees", - "source_mapping": { - "start": 3762, - "length": 604, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFees(uint256,IERC20)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_pay(recipient,underlyingAmount)", - "source_mapping": { - "start": 9007, - "length": 33, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 228 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4166, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3747, - "length": 706, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20", - "source_mapping": { - "start": 707, - "length": 3748, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "underlyingToken.safeTransfer(to,balance)", - "source_mapping": { - "start": 10112, - "length": 41, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 256 - ], - "starting_column": 13, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_pay", - "source_mapping": { - "start": 9913, - "length": 415, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_pay(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "underlyingToken.safeTransfer(to,amount)", - "source_mapping": { - "start": 10232, - "length": 40, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 259 - ], - "starting_column": 13, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_pay", - "source_mapping": { - "start": 9913, - "length": 415, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_pay(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "distributeFees(paymentToken.balanceOf(address(this)),paymentToken)", - "source_mapping": { - "start": 8593, - "length": 67, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 220 - ], - "starting_column": 13, - "ending_column": 80 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_pay(recipient,underlyingAmount)", - "source_mapping": { - "start": 9007, - "length": 33, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 228 - ], - "starting_column": 9, - "ending_column": 42 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "Exercised(from,recipient,underlyingAmount,paymentAmount)", - "source_mapping": { - "start": 9051, - "length": 64, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 230 - ], - "starting_column": 9, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231):\n\tExternal calls:\n\t- underlyingToken.approve(swapProps.swapper,feeAmount) (src/exercise/DiscountExercise.sol#213)\n\t- _generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress) (src/exercise/DiscountExercise.sol#216)\n\t\t- _swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#75)\n\t\t- _swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#77)\n\t\t- _swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#79)\n\t\t- _swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#81)\n\t- distributeFees(paymentToken.balanceOf(address(this)),paymentToken) (src/exercise/DiscountExercise.sol#220)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- token.safeTransfer(feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#94)\n\t\t- token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#97)\n\t- _pay(recipient,underlyingAmount) (src/exercise/DiscountExercise.sol#228)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- underlyingToken.safeTransfer(to,balance) (src/exercise/DiscountExercise.sol#256)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- underlyingToken.safeTransfer(to,amount) (src/exercise/DiscountExercise.sol#259)\n\tExternal calls sending eth:\n\t- distributeFees(paymentToken.balanceOf(address(this)),paymentToken) (src/exercise/DiscountExercise.sol#220)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t- _pay(recipient,underlyingAmount) (src/exercise/DiscountExercise.sol#228)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\tEvent emitted after the call(s):\n\t- Exercised(from,recipient,underlyingAmount,paymentAmount) (src/exercise/DiscountExercise.sol#230)\n", - "markdown": "Reentrancy in [DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231):\n\tExternal calls:\n\t- [underlyingToken.approve(swapProps.swapper,feeAmount)](src/exercise/DiscountExercise.sol#L213)\n\t- [_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)](src/exercise/DiscountExercise.sol#L216)\n\t\t- [_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L75)\n\t\t- [_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L77)\n\t\t- [_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L79)\n\t\t- [_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L81)\n\t- [distributeFees(paymentToken.balanceOf(address(this)),paymentToken)](src/exercise/DiscountExercise.sol#L220)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [token.safeTransfer(feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L94)\n\t\t- [token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L97)\n\t- [_pay(recipient,underlyingAmount)](src/exercise/DiscountExercise.sol#L228)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [underlyingToken.safeTransfer(to,balance)](src/exercise/DiscountExercise.sol#L256)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [underlyingToken.safeTransfer(to,amount)](src/exercise/DiscountExercise.sol#L259)\n\tExternal calls sending eth:\n\t- [distributeFees(paymentToken.balanceOf(address(this)),paymentToken)](src/exercise/DiscountExercise.sol#L220)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t- [_pay(recipient,underlyingAmount)](src/exercise/DiscountExercise.sol#L228)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\tEvent emitted after the call(s):\n\t- [Exercised(from,recipient,underlyingAmount,paymentAmount)](src/exercise/DiscountExercise.sol#L230)\n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", - "id": "e13cadbb7879bfd546c8fbbad0a7fe265276aed28f548d1bc238ae613cc8ff47", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - }, - { - "type": "node", - "name": "_swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive))", - "source_mapping": { - "start": 8977, - "length": 108, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 251 - ], - "starting_column": 9, - "ending_column": 117 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "(success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value))", - "source_mapping": { - "start": 1866, - "length": 106, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 35 - ], - "starting_column": 9, - "ending_column": 115 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "safeApprove", - "source_mapping": { - "start": 1784, - "length": 277, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TransferHelper", - "source_mapping": { - "start": 108, - "length": 2309, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeApprove(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "TransferHelper.safeApprove(path[0],_params.router,_params.amount)", - "source_mapping": { - "start": 1708, - "length": 67, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 49 - ], - "starting_column": 9, - "ending_column": 76 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "tmpAmountOut = ISwapRouter(_params.router).exactInput(params)", - "source_mapping": { - "start": 2186, - "length": 346, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "TransferHelper.safeApprove(path[0],_params.router,0)", - "source_mapping": { - "start": 2350, - "length": 54, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 63 - ], - "starting_column": 17, - "ending_column": 71 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "amountOut = ISwapRouter(_params.router).exactInput(params)", - "source_mapping": { - "start": 2562, - "length": 58, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 67 - ], - "starting_column": 13, - "ending_column": 71 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pullFromBefore(_from,_amount)", - "source_mapping": { - "start": 8792, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 249 - ], - "starting_column": 14, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4298, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3868, - "length": 717, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20Upgradeable", - "source_mapping": { - "start": 740, - "length": 3847, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)", - "source_mapping": { - "start": 19490, - "length": 85, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 485 - ], - "starting_column": 9, - "ending_column": 94 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pullFromBefore", - "source_mapping": { - "start": 19424, - "length": 169, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 484, - 485, - 486, - 487 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pullFromBefore(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pushFromAndToAfter(_from,_to)", - "source_mapping": { - "start": 8823, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 249 - ], - "starting_column": 45, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4298, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3868, - "length": 717, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20Upgradeable", - "source_mapping": { - "start": 740, - "length": 3847, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)", - "source_mapping": { - "start": 19793, - "length": 66, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 493 - ], - "starting_column": 13, - "ending_column": 79 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pushFromAndToAfter", - "source_mapping": { - "start": 19599, - "length": 470, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pushFromAndToAfter(address,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)", - "source_mapping": { - "start": 19990, - "length": 62, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 497 - ], - "starting_column": 13, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "pushFromAndToAfter", - "source_mapping": { - "start": 19599, - "length": 470, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "pushFromAndToAfter(address,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pullFromBefore(_from,_amount)", - "source_mapping": { - "start": 8792, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 249 - ], - "starting_column": 14, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "pushFromAndToAfter(_from,_to)", - "source_mapping": { - "start": 8823, - "length": 30, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 249 - ], - "starting_column": 45, - "ending_column": 75 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to)", - "source_mapping": { - "start": 2422, - "length": 95, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 64 - ], - "starting_column": 17, - "ending_column": 112 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV3", - "source_mapping": { - "start": 1138, - "length": 1499, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV3(UniV3Mixin.Params__swapUniV3)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - }, - { - "type": "node", - "name": "_swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive))", - "source_mapping": { - "start": 8977, - "length": 108, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 251 - ], - "starting_column": 9, - "ending_column": 117 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool) (lib/vault-v2/src/ReaperSwapper.sol#241-252):\n\tExternal calls:\n\t- _swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)) (lib/vault-v2/src/ReaperSwapper.sol#251)\n\t\t- (success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value)) (lib/vault-v2/src/libraries/TransferHelper.sol#35)\n\t\t- TransferHelper.safeApprove(path[0],_params.router,_params.amount) (lib/vault-v2/src/mixins/UniV3Mixin.sol#49)\n\t\t- tmpAmountOut = ISwapRouter(_params.router).exactInput(params) (lib/vault-v2/src/mixins/UniV3Mixin.sol#60-65)\n\t\t- TransferHelper.safeApprove(path[0],_params.router,0) (lib/vault-v2/src/mixins/UniV3Mixin.sol#63)\n\t\t- amountOut = ISwapRouter(_params.router).exactInput(params) (lib/vault-v2/src/mixins/UniV3Mixin.sol#67)\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#249)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount) (lib/vault-v2/src/ReaperSwapper.sol#485)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#249)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal) (lib/vault-v2/src/ReaperSwapper.sol#493)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t\t- IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal) (lib/vault-v2/src/ReaperSwapper.sol#497)\n\tExternal calls sending eth:\n\t- pullFromBefore(_from,_amount) (lib/vault-v2/src/ReaperSwapper.sol#249)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\t- pushFromAndToAfter(_from,_to) (lib/vault-v2/src/ReaperSwapper.sol#249)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n\tEvent emitted after the call(s):\n\t- SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to) (lib/vault-v2/src/mixins/UniV3Mixin.sol#64)\n\t\t- _swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive)) (lib/vault-v2/src/ReaperSwapper.sol#251)\n", - "markdown": "Reentrancy in [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)](lib/vault-v2/src/ReaperSwapper.sol#L241-L252):\n\tExternal calls:\n\t- [_swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive))](lib/vault-v2/src/ReaperSwapper.sol#L251)\n\t\t- [(success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value))](lib/vault-v2/src/libraries/TransferHelper.sol#L35)\n\t\t- [TransferHelper.safeApprove(path[0],_params.router,_params.amount)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L49)\n\t\t- [tmpAmountOut = ISwapRouter(_params.router).exactInput(params)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L60-L65)\n\t\t- [TransferHelper.safeApprove(path[0],_params.router,0)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L63)\n\t\t- [amountOut = ISwapRouter(_params.router).exactInput(params)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L67)\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L249)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransferFrom(msg.sender,address(this),_amount)](lib/vault-v2/src/ReaperSwapper.sol#L485)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L249)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [IERC20MetadataUpgradeable(_from).safeTransfer(msg.sender,fromBal)](lib/vault-v2/src/ReaperSwapper.sol#L493)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t\t- [IERC20MetadataUpgradeable(_to).safeTransfer(msg.sender,toBal)](lib/vault-v2/src/ReaperSwapper.sol#L497)\n\tExternal calls sending eth:\n\t- [pullFromBefore(_from,_amount)](lib/vault-v2/src/ReaperSwapper.sol#L249)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\t- [pushFromAndToAfter(_from,_to)](lib/vault-v2/src/ReaperSwapper.sol#L249)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n\tEvent emitted after the call(s):\n\t- [SwapFailed(_params.router,_params.amount,_params.minAmountOut,_params.from,_params.to)](lib/vault-v2/src/mixins/UniV3Mixin.sol#L64)\n\t\t- [_swapUniV3(Params__swapUniV3(_from,_to,_amount,minAmountOut,_router,_deadline,_tryCatchActive))](lib/vault-v2/src/ReaperSwapper.sol#L251)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L241-L252", - "id": "e7ec4df5ce298c28fd7e1b953f526ffa840951ed878c7159f2eb300e06952fab", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - }, - { - "type": "node", - "name": "underlyingToken.approve(swapProps.swapper,feeAmount)", - "source_mapping": { - "start": 8058, - "length": 53, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 213 - ], - "starting_column": 13, - "ending_column": 66 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)", - "source_mapping": { - "start": 8277, - "length": 138, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 216 - ], - "starting_column": 13, - "ending_column": 151 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2488, - "length": 80, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 75 - ], - "starting_column": 13, - "ending_column": 93 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2631, - "length": 78, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 77 - ], - "starting_column": 13, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2778, - "length": 79, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 79 - ], - "starting_column": 13, - "ending_column": 92 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)", - "source_mapping": { - "start": 2922, - "length": 80, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 81 - ], - "starting_column": 13, - "ending_column": 93 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_generalSwap", - "source_mapping": { - "start": 2091, - "length": 1014, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_generalSwap(ExchangeType,address,address,uint256,uint256,address)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "distributeFees(paymentToken.balanceOf(address(this)),paymentToken)", - "source_mapping": { - "start": 8593, - "length": 67, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 220 - ], - "starting_column": 13, - "ending_column": 80 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", - "source_mapping": { - "start": 4166, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 110 - ], - "starting_column": 9, - "ending_column": 104 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_callOptionalReturn", - "source_mapping": { - "start": 3747, - "length": 706, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SafeERC20", - "source_mapping": { - "start": 707, - "length": 3748, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_callOptionalReturn(IERC20,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "token.safeTransfer(feeRecipients[i],feeAmount)", - "source_mapping": { - "start": 4121, - "length": 47, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 94 - ], - "starting_column": 13, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFees", - "source_mapping": { - "start": 3762, - "length": 604, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFees(uint256,IERC20)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)", - "source_mapping": { - "start": 4224, - "length": 70, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 97 - ], - "starting_column": 9, - "ending_column": 79 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFees", - "source_mapping": { - "start": 3762, - "length": 604, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFees(uint256,IERC20)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "distributeFees(paymentToken.balanceOf(address(this)),paymentToken)", - "source_mapping": { - "start": 8593, - "length": 67, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 220 - ], - "starting_column": 13, - "ending_column": 80 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" - } - }, - { - "type": "node", - "name": "DistributeFees(feeRecipients,feeBPS,totalAmount)", - "source_mapping": { - "start": 4304, - "length": 55, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 98 - ], - "starting_column": 9, - "ending_column": 64 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "distributeFees", - "source_mapping": { - "start": 3762, - "length": 604, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "distributeFees(uint256,IERC20)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - }, - { - "type": "node", - "name": "distributeFees(paymentToken.balanceOf(address(this)),paymentToken)", - "source_mapping": { - "start": 8593, - "length": 67, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 220 - ], - "starting_column": 13, - "ending_column": 80 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - }, - "additional_fields": { - "underlying_type": "event" - } - } - ], - "description": "Reentrancy in DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231):\n\tExternal calls:\n\t- underlyingToken.approve(swapProps.swapper,feeAmount) (src/exercise/DiscountExercise.sol#213)\n\t- _generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress) (src/exercise/DiscountExercise.sol#216)\n\t\t- _swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#75)\n\t\t- _swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#77)\n\t\t- _swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#79)\n\t\t- _swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress) (src/helpers/SwapHelper.sol#81)\n\t- distributeFees(paymentToken.balanceOf(address(this)),paymentToken) (src/exercise/DiscountExercise.sol#220)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\t\t- token.safeTransfer(feeRecipients[i],feeAmount) (src/exercise/BaseExercise.sol#94)\n\t\t- token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining) (src/exercise/BaseExercise.sol#97)\n\tExternal calls sending eth:\n\t- distributeFees(paymentToken.balanceOf(address(this)),paymentToken) (src/exercise/DiscountExercise.sol#220)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n\tEvent emitted after the call(s):\n\t- DistributeFees(feeRecipients,feeBPS,totalAmount) (src/exercise/BaseExercise.sol#98)\n\t\t- distributeFees(paymentToken.balanceOf(address(this)),paymentToken) (src/exercise/DiscountExercise.sol#220)\n", - "markdown": "Reentrancy in [DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231):\n\tExternal calls:\n\t- [underlyingToken.approve(swapProps.swapper,feeAmount)](src/exercise/DiscountExercise.sol#L213)\n\t- [_generalSwap(swapProps.exchangeTypes,address(underlyingToken),address(paymentToken),feeAmount,minAmountOut,swapProps.exchangeAddress)](src/exercise/DiscountExercise.sol#L216)\n\t\t- [_swapper.swapUniV2(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L75)\n\t\t- [_swapper.swapBal(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L77)\n\t\t- [_swapper.swapVelo(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L79)\n\t\t- [_swapper.swapUniV3(tokenIn,tokenOut,amount,minAmountOutData,exchangeAddress)](src/helpers/SwapHelper.sol#L81)\n\t- [distributeFees(paymentToken.balanceOf(address(this)),paymentToken)](src/exercise/DiscountExercise.sol#L220)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\t\t- [token.safeTransfer(feeRecipients[i],feeAmount)](src/exercise/BaseExercise.sol#L94)\n\t\t- [token.safeTransfer(feeRecipients[feeRecipients.length - 1],remaining)](src/exercise/BaseExercise.sol#L97)\n\tExternal calls sending eth:\n\t- [distributeFees(paymentToken.balanceOf(address(this)),paymentToken)](src/exercise/DiscountExercise.sol#L220)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n\tEvent emitted after the call(s):\n\t- [DistributeFees(feeRecipients,feeBPS,totalAmount)](src/exercise/BaseExercise.sol#L98)\n\t\t- [distributeFees(paymentToken.balanceOf(address(this)),paymentToken)](src/exercise/DiscountExercise.sol#L220)\n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", - "id": "fac3c8628962c8c145b9cc713e68a80a082c54c497a1d117e7426d73343a5856", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "permit", - "source_mapping": { - "start": 3838, - "length": 1483, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 474, - "length": 6337, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } - }, - { - "type": "node", - "name": "require(bool,string)(deadline >= block.timestamp,PERMIT_DEADLINE_EXPIRED)", - "source_mapping": { - "start": 4037, - "length": 63, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 125 - ], - "starting_column": 9, - "ending_column": 72 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "permit", - "source_mapping": { - "start": 3838, - "length": 1483, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 474, - "length": 6337, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)" - } - } - } - } - ], - "description": "ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (lib/solmate/src/tokens/ERC20.sol#116-160) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(deadline >= block.timestamp,PERMIT_DEADLINE_EXPIRED) (lib/solmate/src/tokens/ERC20.sol#125)\n", - "markdown": "[ERC20.permit(address,address,uint256,uint256,uint8,bytes32,bytes32)](lib/solmate/src/tokens/ERC20.sol#L116-L160) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(deadline >= block.timestamp,PERMIT_DEADLINE_EXPIRED)](lib/solmate/src/tokens/ERC20.sol#L125)\n", - "first_markdown_element": "lib/solmate/src/tokens/ERC20.sol#L116-L160", - "id": "0fb9231dc121cc76860bb0687bd6cde7aeea76e6335fdfad5753810640c24c9b", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_authorizeUpgrade", - "source_mapping": { - "start": 7489, - "length": 338, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 186, - 187, - 188, - 189, - 190 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_authorizeUpgrade(address)" - } - }, - { - "type": "node", - "name": "require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing)", - "source_mapping": { - "start": 7583, - "length": 116, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 187 - ], - "starting_column": 9, - "ending_column": 125 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_authorizeUpgrade", - "source_mapping": { - "start": 7489, - "length": 338, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 186, - 187, - 188, - 189, - 190 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_authorizeUpgrade(address)" - } - } - } - } - ], - "description": "OptionsToken._authorizeUpgrade(address) (src/OptionsToken.sol#186-190) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing) (src/OptionsToken.sol#187)\n", - "markdown": "[OptionsToken._authorizeUpgrade(address)](src/OptionsToken.sol#L186-L190) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing)](src/OptionsToken.sol#L187)\n", - "first_markdown_element": "src/OptionsToken.sol#L186-L190", - "id": "47d6ef328e4bec93ff731c772653d7d7d1461f9a46b96c65802f9b0b2081a72b", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_chainlinkIsFrozen", - "source_mapping": { - "start": 17196, - "length": 258, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 431, - 432, - 433, - 434 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_chainlinkIsFrozen(ReaperSwapper.ChainlinkResponse,address)" - } - }, - { - "type": "node", - "name": "block.timestamp - _response.timestamp > aggregatorTimeout", - "source_mapping": { - "start": 17383, - "length": 64, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 433 - ], - "starting_column": 9, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_chainlinkIsFrozen", - "source_mapping": { - "start": 17196, - "length": 258, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 431, - 432, - 433, - 434 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_chainlinkIsFrozen(ReaperSwapper.ChainlinkResponse,address)" - } - } - } - } - ], - "description": "ReaperSwapper._chainlinkIsFrozen(ReaperSwapper.ChainlinkResponse,address) (lib/vault-v2/src/ReaperSwapper.sol#431-434) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp - _response.timestamp > aggregatorTimeout (lib/vault-v2/src/ReaperSwapper.sol#433)\n", - "markdown": "[ReaperSwapper._chainlinkIsFrozen(ReaperSwapper.ChainlinkResponse,address)](lib/vault-v2/src/ReaperSwapper.sol#L431-L434) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp - _response.timestamp > aggregatorTimeout](lib/vault-v2/src/ReaperSwapper.sol#L433)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L431-L434", - "id": "5b1d0ab9c3a7bcae71f7bd3a11a0caa71fd77c85af715f593d1fc00cf04614d3", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_redeem", - "source_mapping": { - "start": 9155, - "length": 752, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" - } - }, - { - "type": "node", - "name": "block.timestamp > params.deadline", - "source_mapping": { - "start": 9377, - "length": 33, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 239 - ], - "starting_column": 13, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_redeem", - "source_mapping": { - "start": 9155, - "length": 752, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_redeem(address,uint256,address,DiscountExerciseParams)" - } - } - } - } - ], - "description": "DiscountExercise._redeem(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#234-251) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > params.deadline (src/exercise/DiscountExercise.sol#239)\n", - "markdown": "[DiscountExercise._redeem(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L234-L251) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > params.deadline](src/exercise/DiscountExercise.sol#L239)\n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L234-L251", - "id": "61a1c13c0eec30cef4d45e71eb68b2242a5ed6a3ec92629dbb2b00a5c05b5305", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - }, - { - "type": "node", - "name": "block.timestamp > params.deadline", - "source_mapping": { - "start": 7049, - "length": 33, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 197 - ], - "starting_column": 13, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_zap", - "source_mapping": { - "start": 6830, - "length": 2292, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_zap(address,uint256,address,DiscountExerciseParams)" - } - } - } - } - ], - "description": "DiscountExercise._zap(address,uint256,address,DiscountExerciseParams) (src/exercise/DiscountExercise.sol#192-231) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > params.deadline (src/exercise/DiscountExercise.sol#197)\n", - "markdown": "[DiscountExercise._zap(address,uint256,address,DiscountExerciseParams)](src/exercise/DiscountExercise.sol#L192-L231) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > params.deadline](src/exercise/DiscountExercise.sol#L197)\n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L192-L231", - "id": "668585016ac0bae752c2577765c1c163cfc3144c0656d1fb189859db4c2d78b8", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getChainlinkPriceTargetDigits", - "source_mapping": { - "start": 12574, - "length": 693, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getChainlinkPriceTargetDigits(address)" - } - }, - { - "type": "node", - "name": "require(bool,string)(! _chainlinkIsBroken(chainlinkResponse,prevChainlinkResponse) && ! _chainlinkIsFrozen(chainlinkResponse,_token),ReaperSwapper: Chainlink must be working and current)", - "source_mapping": { - "start": 12925, - "length": 226, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 337, - 338, - 339, - 340, - 341 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getChainlinkPriceTargetDigits", - "source_mapping": { - "start": 12574, - "length": 693, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getChainlinkPriceTargetDigits(address)" - } - } - } - } - ], - "description": "ReaperSwapper.getChainlinkPriceTargetDigits(address) (lib/vault-v2/src/ReaperSwapper.sol#333-343) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(! _chainlinkIsBroken(chainlinkResponse,prevChainlinkResponse) && ! _chainlinkIsFrozen(chainlinkResponse,_token),ReaperSwapper: Chainlink must be working and current) (lib/vault-v2/src/ReaperSwapper.sol#337-341)\n", - "markdown": "[ReaperSwapper.getChainlinkPriceTargetDigits(address)](lib/vault-v2/src/ReaperSwapper.sol#L333-L343) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(! _chainlinkIsBroken(chainlinkResponse,prevChainlinkResponse) && ! _chainlinkIsFrozen(chainlinkResponse,_token),ReaperSwapper: Chainlink must be working and current)](lib/vault-v2/src/ReaperSwapper.sol#L337-L341)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L333-L343", - "id": "8876dcb1ce9974595b01d633cfe62552129b63ca689be1b0815a3c19c88b3095", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_badChainlinkResponse", - "source_mapping": { - "start": 16626, - "length": 564, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_badChainlinkResponse(ReaperSwapper.ChainlinkResponse)" - } - }, - { - "type": "node", - "name": "_response.timestamp == 0 || _response.timestamp > block.timestamp", - "source_mapping": { - "start": 16994, - "length": 65, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 424 - ], - "starting_column": 13, - "ending_column": 78 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_badChainlinkResponse", - "source_mapping": { - "start": 16626, - "length": 564, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_badChainlinkResponse(ReaperSwapper.ChainlinkResponse)" - } - } - } - } - ], - "description": "ReaperSwapper._badChainlinkResponse(ReaperSwapper.ChainlinkResponse) (lib/vault-v2/src/ReaperSwapper.sol#418-429) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- _response.timestamp == 0 || _response.timestamp > block.timestamp (lib/vault-v2/src/ReaperSwapper.sol#424)\n", - "markdown": "[ReaperSwapper._badChainlinkResponse(ReaperSwapper.ChainlinkResponse)](lib/vault-v2/src/ReaperSwapper.sol#L418-L429) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [_response.timestamp == 0 || _response.timestamp > block.timestamp](lib/vault-v2/src/ReaperSwapper.sol#L424)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L418-L429", - "id": "c9769fb3b49a0cb62289925e91879f5e539b1d1b11aa4df992552532f0fc1edb", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_authorizeUpgrade", - "source_mapping": { - "start": 19135, - "length": 283, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 476, - 477, - 478, - 479, - 480, - 481, - 482 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_authorizeUpgrade(address)" - } - }, - { - "type": "node", - "name": "require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing)", - "source_mapping": { - "start": 19241, - "length": 138, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 478, - 479, - 480 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_authorizeUpgrade", - "source_mapping": { - "start": 19135, - "length": 283, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 476, - 477, - 478, - 479, - 480, - 481, - 482 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_authorizeUpgrade(address)" - } - } - } - } - ], - "description": "ReaperSwapper._authorizeUpgrade(address) (lib/vault-v2/src/ReaperSwapper.sol#476-482) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing) (lib/vault-v2/src/ReaperSwapper.sol#478-480)\n", - "markdown": "[ReaperSwapper._authorizeUpgrade(address)](lib/vault-v2/src/ReaperSwapper.sol#L476-L482) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(upgradeProposalTime + UPGRADE_TIMELOCK < block.timestamp,Upgrade cooldown not initiated or still ongoing)](lib/vault-v2/src/ReaperSwapper.sol#L478-L480)\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L476-L482", - "id": "f0962c61819abf294fef0372224298be1e0fde776b4031d7996ce34948836d89", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "unsafeDiv", - "source_mapping": { - "start": 9436, - "length": 285, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unsafeDiv(uint256,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 9564, - "length": 151, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 240, - 241, - 242, - 243, - 244 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "unsafeDiv", - "source_mapping": { - "start": 9436, - "length": 285, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unsafeDiv(uint256,uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.unsafeDiv(uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#238-245) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#240-244)\n", - "markdown": "[FixedPointMathLib.unsafeDiv(uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L238-L245) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L240-L244)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L238-L245", - "id": "0beed87682b0d9d1b5d62d5e0b9a3ea42569e26d73cc841baa517c84883f1df4", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 5000, - "length": 164, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 77, - 78, - 79, - 80, - 81 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 5177, - "length": 148, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 82, - 83, - 84, - 85, - 86 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 5338, - "length": 140, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 87, - 88, - 89, - 90, - 91 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 5491, - "length": 136, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 92, - 93, - 94, - 95, - 96 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 5640, - "length": 134, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 97, - 98, - 99, - 100, - 101 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 5787, - "length": 133, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 102, - 103, - 104, - 105, - 106 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 5933, - "length": 133, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 107, - 108, - 109, - 110, - 111 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 6079, - "length": 94, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 112, - 113, - 114, - 115 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 6340, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 122, - 123, - 124, - 125, - 126, - 127 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 6533, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 6726, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 134, - 135, - 136, - 137, - 138, - 139 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 6919, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 140, - 141, - 142, - 143, - 144, - 145 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 7112, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 146, - 147, - 148, - 149, - 150, - 151 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 7305, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 7498, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 158, - 159, - 160, - 161, - 162, - 163 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 7691, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 164, - 165, - 166, - 167, - 168, - 169 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 7884, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 170, - 171, - 172, - 173, - 174, - 175 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 8077, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 176, - 177, - 178, - 179, - 180, - 181 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 8270, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 182, - 183, - 184, - 185, - 186, - 187 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 8463, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 188, - 189, - 190, - 191, - 192, - 193 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 8656, - "length": 180, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 194, - 195, - 196, - 197, - 198, - 199 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 8849, - "length": 149, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 200, - 201, - 202, - 203, - 204 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTickAtSqrtRatio", - "source_mapping": { - "start": 4563, - "length": 4852, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTickAtSqrtRatio(uint160)" - } - } - } - } - ], - "description": "TickMath.getTickAtSqrtRatio(uint160) (lib/v3-core/contracts/libraries/TickMath.sol#68-213) uses assembly\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#77-81)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#82-86)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#87-91)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#92-96)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#97-101)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#102-106)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#107-111)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#112-115)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#122-127)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#128-133)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#134-139)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#140-145)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#146-151)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#152-157)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#158-163)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#164-169)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#170-175)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#176-181)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#182-187)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#188-193)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#194-199)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/TickMath.sol#200-204)\n", - "markdown": "[TickMath.getTickAtSqrtRatio(uint160)](lib/v3-core/contracts/libraries/TickMath.sol#L68-L213) uses assembly\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L77-L81)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L82-L86)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L87-L91)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L92-L96)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L97-L101)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L102-L106)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L107-L111)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L112-L115)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L122-L127)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L128-L133)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L134-L139)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L140-L145)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L146-L151)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L152-L157)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L158-L163)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L164-L169)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L170-L175)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L176-L181)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L182-L187)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L188-L193)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L194-L199)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/TickMath.sol#L200-L204)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L68-L213", - "id": "0def4f45d43eaf0b329bef30ef6af6d4f46fe19e1463c7b9ac4d362934eafeb6", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "unsafeMod", - "source_mapping": { - "start": 9148, - "length": 282, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unsafeMod(uint256,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 9276, - "length": 148, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 231, - 232, - 233, - 234, - 235 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "unsafeMod", - "source_mapping": { - "start": 9148, - "length": 282, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unsafeMod(uint256,uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.unsafeMod(uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#229-236) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#231-235)\n", - "markdown": "[FixedPointMathLib.unsafeMod(uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L229-L236) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L231-L235)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L229-L236", - "id": "145fa339a2d24346a0d2f9a987ba904fefdb44045676d336d8c1454492437dd3", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "_revert", - "source_mapping": { - "start": 8616, - "length": 540, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_revert(bytes,string)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 8947, - "length": 142, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 236, - 237, - 238, - 239 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_revert", - "source_mapping": { - "start": 8616, - "length": 540, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_revert(bytes,string)" - } - } - } - } - ], - "description": "Address._revert(bytes,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#231-243) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Address.sol#236-239)\n", - "markdown": "[Address._revert(bytes,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L231-L243) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts/contracts/utils/Address.sol#L236-L239)\n", - "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L231-L243", - "id": "202587d026bc154cc0001a634101f20caa34ef114975710d739f5c8c36d92e7c", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "unsafeDivUp", - "source_mapping": { - "start": 9727, - "length": 324, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unsafeDivUp(uint256,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 9857, - "length": 188, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 249, - 250, - 251, - 252, - 253 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "unsafeDivUp", - "source_mapping": { - "start": 9727, - "length": 324, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "unsafeDivUp(uint256,uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.unsafeDivUp(uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#247-254) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#249-253)\n", - "markdown": "[FixedPointMathLib.unsafeDivUp(uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L247-L254) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L249-L253)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L247-L254", - "id": "293ee1efbea006e81513a50b1f3897ca47465d642f7873e0618752a9e931afdc", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 5746, - "length": 3396, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 5858, - "length": 3278, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 5746, - "length": 3396, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.sqrt(uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#164-227) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#166-226)\n", - "markdown": "[FixedPointMathLib.sqrt(uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L166-L226)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227", - "id": "37818b71310ead61c2763f3a5f49d95d276ee9cb81a18a9e165d14c424a65602", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDivUp", - "source_mapping": { - "start": 2096, - "length": 672, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDivUp(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 2274, - "length": 488, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDivUp", - "source_mapping": { - "start": 2096, - "length": 672, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDivUp(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.mulDivUp(uint256,uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#53-69) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#59-68)\n", - "markdown": "[FixedPointMathLib.mulDivUp(uint256,uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L53-L69) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L59-L68)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L53-L69", - "id": "39a7fec07e0fbe8e5782dbb16c4b965b00f8fb1054cd2855b1fe4b9234ea9403", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "values", - "source_mapping": { - "start": 10262, - "length": 300, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "EnumerableSetUpgradeable", - "source_mapping": { - "start": 1321, - "length": 11641, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "values(EnumerableSetUpgradeable.AddressSet)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 10484, - "length": 48, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 298, - 299, - 300 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "values", - "source_mapping": { - "start": 10262, - "length": 300, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "EnumerableSetUpgradeable", - "source_mapping": { - "start": 1321, - "length": 11641, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "values(EnumerableSetUpgradeable.AddressSet)" - } - } - } - } - ], - "description": "EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.AddressSet) (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#293-303) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#298-300)\n", - "markdown": "[EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.AddressSet)](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L293-L303) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L298-L300)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L293-L303", - "id": "3b8aa13e9f50c73367d43257168b9f1a7a14154c5ff8bd884390007f08e0ae86", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "values", - "source_mapping": { - "start": 7768, - "length": 300, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "EnumerableSetUpgradeable", - "source_mapping": { - "start": 1321, - "length": 11641, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "values(EnumerableSetUpgradeable.Bytes32Set)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 7990, - "length": 48, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 224, - 225, - 226 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "values", - "source_mapping": { - "start": 7768, - "length": 300, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "EnumerableSetUpgradeable", - "source_mapping": { - "start": 1321, - "length": 11641, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "values(EnumerableSetUpgradeable.Bytes32Set)" - } - } - } - } - ], - "description": "EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.Bytes32Set) (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#219-229) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#224-226)\n", - "markdown": "[EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.Bytes32Set)](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L219-L229) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L224-L226)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L219-L229", - "id": "56194aad9e39935cc05324a8414a026d136558b2fa7f7ab0735fd12cc739a479", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "_sendLogPayload", - "source_mapping": { - "start": 181, - "length": 376, - "filename_relative": "lib/forge-std/src/console.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", - "filename_short": "lib/forge-std/src/console.sol", - "is_dependency": true, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "console", - "source_mapping": { - "start": 66, - "length": 66622, - "filename_relative": "lib/forge-std/src/console.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", - "filename_short": "lib/forge-std/src/console.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223, - 1224, - 1225, - 1226, - 1227, - 1228, - 1229, - 1230, - 1231, - 1232, - 1233, - 1234, - 1235, - 1236, - 1237, - 1238, - 1239, - 1240, - 1241, - 1242, - 1243, - 1244, - 1245, - 1246, - 1247, - 1248, - 1249, - 1250, - 1251, - 1252, - 1253, - 1254, - 1255, - 1256, - 1257, - 1258, - 1259, - 1260, - 1261, - 1262, - 1263, - 1264, - 1265, - 1266, - 1267, - 1268, - 1269, - 1270, - 1271, - 1272, - 1273, - 1274, - 1275, - 1276, - 1277, - 1278, - 1279, - 1280, - 1281, - 1282, - 1283, - 1284, - 1285, - 1286, - 1287, - 1288, - 1289, - 1290, - 1291, - 1292, - 1293, - 1294, - 1295, - 1296, - 1297, - 1298, - 1299, - 1300, - 1301, - 1302, - 1303, - 1304, - 1305, - 1306, - 1307, - 1308, - 1309, - 1310, - 1311, - 1312, - 1313, - 1314, - 1315, - 1316, - 1317, - 1318, - 1319, - 1320, - 1321, - 1322, - 1323, - 1324, - 1325, - 1326, - 1327, - 1328, - 1329, - 1330, - 1331, - 1332, - 1333, - 1334, - 1335, - 1336, - 1337, - 1338, - 1339, - 1340, - 1341, - 1342, - 1343, - 1344, - 1345, - 1346, - 1347, - 1348, - 1349, - 1350, - 1351, - 1352, - 1353, - 1354, - 1355, - 1356, - 1357, - 1358, - 1359, - 1360, - 1361, - 1362, - 1363, - 1364, - 1365, - 1366, - 1367, - 1368, - 1369, - 1370, - 1371, - 1372, - 1373, - 1374, - 1375, - 1376, - 1377, - 1378, - 1379, - 1380, - 1381, - 1382, - 1383, - 1384, - 1385, - 1386, - 1387, - 1388, - 1389, - 1390, - 1391, - 1392, - 1393, - 1394, - 1395, - 1396, - 1397, - 1398, - 1399, - 1400, - 1401, - 1402, - 1403, - 1404, - 1405, - 1406, - 1407, - 1408, - 1409, - 1410, - 1411, - 1412, - 1413, - 1414, - 1415, - 1416, - 1417, - 1418, - 1419, - 1420, - 1421, - 1422, - 1423, - 1424, - 1425, - 1426, - 1427, - 1428, - 1429, - 1430, - 1431, - 1432, - 1433, - 1434, - 1435, - 1436, - 1437, - 1438, - 1439, - 1440, - 1441, - 1442, - 1443, - 1444, - 1445, - 1446, - 1447, - 1448, - 1449, - 1450, - 1451, - 1452, - 1453, - 1454, - 1455, - 1456, - 1457, - 1458, - 1459, - 1460, - 1461, - 1462, - 1463, - 1464, - 1465, - 1466, - 1467, - 1468, - 1469, - 1470, - 1471, - 1472, - 1473, - 1474, - 1475, - 1476, - 1477, - 1478, - 1479, - 1480, - 1481, - 1482, - 1483, - 1484, - 1485, - 1486, - 1487, - 1488, - 1489, - 1490, - 1491, - 1492, - 1493, - 1494, - 1495, - 1496, - 1497, - 1498, - 1499, - 1500, - 1501, - 1502, - 1503, - 1504, - 1505, - 1506, - 1507, - 1508, - 1509, - 1510, - 1511, - 1512, - 1513, - 1514, - 1515, - 1516, - 1517, - 1518, - 1519, - 1520, - 1521, - 1522, - 1523, - 1524, - 1525, - 1526, - 1527, - 1528, - 1529, - 1530, - 1531, - 1532, - 1533, - 1534 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "_sendLogPayload(bytes)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 392, - "length": 159, - "filename_relative": "lib/forge-std/src/console.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", - "filename_short": "lib/forge-std/src/console.sol", - "is_dependency": true, - "lines": [ - 11, - 12, - 13, - 14 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_sendLogPayload", - "source_mapping": { - "start": 181, - "length": 376, - "filename_relative": "lib/forge-std/src/console.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", - "filename_short": "lib/forge-std/src/console.sol", - "is_dependency": true, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "console", - "source_mapping": { - "start": 66, - "length": 66622, - "filename_relative": "lib/forge-std/src/console.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", - "filename_short": "lib/forge-std/src/console.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223, - 1224, - 1225, - 1226, - 1227, - 1228, - 1229, - 1230, - 1231, - 1232, - 1233, - 1234, - 1235, - 1236, - 1237, - 1238, - 1239, - 1240, - 1241, - 1242, - 1243, - 1244, - 1245, - 1246, - 1247, - 1248, - 1249, - 1250, - 1251, - 1252, - 1253, - 1254, - 1255, - 1256, - 1257, - 1258, - 1259, - 1260, - 1261, - 1262, - 1263, - 1264, - 1265, - 1266, - 1267, - 1268, - 1269, - 1270, - 1271, - 1272, - 1273, - 1274, - 1275, - 1276, - 1277, - 1278, - 1279, - 1280, - 1281, - 1282, - 1283, - 1284, - 1285, - 1286, - 1287, - 1288, - 1289, - 1290, - 1291, - 1292, - 1293, - 1294, - 1295, - 1296, - 1297, - 1298, - 1299, - 1300, - 1301, - 1302, - 1303, - 1304, - 1305, - 1306, - 1307, - 1308, - 1309, - 1310, - 1311, - 1312, - 1313, - 1314, - 1315, - 1316, - 1317, - 1318, - 1319, - 1320, - 1321, - 1322, - 1323, - 1324, - 1325, - 1326, - 1327, - 1328, - 1329, - 1330, - 1331, - 1332, - 1333, - 1334, - 1335, - 1336, - 1337, - 1338, - 1339, - 1340, - 1341, - 1342, - 1343, - 1344, - 1345, - 1346, - 1347, - 1348, - 1349, - 1350, - 1351, - 1352, - 1353, - 1354, - 1355, - 1356, - 1357, - 1358, - 1359, - 1360, - 1361, - 1362, - 1363, - 1364, - 1365, - 1366, - 1367, - 1368, - 1369, - 1370, - 1371, - 1372, - 1373, - 1374, - 1375, - 1376, - 1377, - 1378, - 1379, - 1380, - 1381, - 1382, - 1383, - 1384, - 1385, - 1386, - 1387, - 1388, - 1389, - 1390, - 1391, - 1392, - 1393, - 1394, - 1395, - 1396, - 1397, - 1398, - 1399, - 1400, - 1401, - 1402, - 1403, - 1404, - 1405, - 1406, - 1407, - 1408, - 1409, - 1410, - 1411, - 1412, - 1413, - 1414, - 1415, - 1416, - 1417, - 1418, - 1419, - 1420, - 1421, - 1422, - 1423, - 1424, - 1425, - 1426, - 1427, - 1428, - 1429, - 1430, - 1431, - 1432, - 1433, - 1434, - 1435, - 1436, - 1437, - 1438, - 1439, - 1440, - 1441, - 1442, - 1443, - 1444, - 1445, - 1446, - 1447, - 1448, - 1449, - 1450, - 1451, - 1452, - 1453, - 1454, - 1455, - 1456, - 1457, - 1458, - 1459, - 1460, - 1461, - 1462, - 1463, - 1464, - 1465, - 1466, - 1467, - 1468, - 1469, - 1470, - 1471, - 1472, - 1473, - 1474, - 1475, - 1476, - 1477, - 1478, - 1479, - 1480, - 1481, - 1482, - 1483, - 1484, - 1485, - 1486, - 1487, - 1488, - 1489, - 1490, - 1491, - 1492, - 1493, - 1494, - 1495, - 1496, - 1497, - 1498, - 1499, - 1500, - 1501, - 1502, - 1503, - 1504, - 1505, - 1506, - 1507, - 1508, - 1509, - 1510, - 1511, - 1512, - 1513, - 1514, - 1515, - 1516, - 1517, - 1518, - 1519, - 1520, - 1521, - 1522, - 1523, - 1524, - 1525, - 1526, - 1527, - 1528, - 1529, - 1530, - 1531, - 1532, - 1533, - 1534 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - "signature": "_sendLogPayload(bytes)" - } - } - } - } - ], - "description": "console._sendLogPayload(bytes) (lib/forge-std/src/console.sol#7-15) uses assembly\n\t- INLINE ASM (lib/forge-std/src/console.sol#11-14)\n", - "markdown": "[console._sendLogPayload(bytes)](lib/forge-std/src/console.sol#L7-L15) uses assembly\n\t- [INLINE ASM](lib/forge-std/src/console.sol#L11-L14)\n", - "first_markdown_element": "lib/forge-std/src/console.sol#L7-L15", - "id": "5758c17df66f8816f5064e14ea7f15d5ee32aa62981846c608f5a746b6c72583", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "getUint256Slot", - "source_mapping": { - "start": 2489, - "length": 190, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 82, - 83, - 84, - 85, - 86, - 87 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StorageSlotUpgradeable", - "source_mapping": { - "start": 1279, - "length": 1402, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getUint256Slot(bytes32)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 2626, - "length": 47, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 84, - 85, - 86 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getUint256Slot", - "source_mapping": { - "start": 2489, - "length": 190, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 82, - 83, - 84, - 85, - 86, - 87 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StorageSlotUpgradeable", - "source_mapping": { - "start": 1279, - "length": 1402, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getUint256Slot(bytes32)" - } - } - } - } - ], - "description": "StorageSlotUpgradeable.getUint256Slot(bytes32) (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#82-87) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#84-86)\n", - "markdown": "[StorageSlotUpgradeable.getUint256Slot(bytes32)](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L82-L87) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L84-L86)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L82-L87", - "id": "5da981982addb53aa1a484aa5b90b5edf14fff276b7d6100c546d2ff73004118", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "rpow", - "source_mapping": { - "start": 2774, - "length": 2778, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "rpow(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 2943, - "length": 2603, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "rpow", - "source_mapping": { - "start": 2774, - "length": 2778, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "rpow(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.rpow(uint256,uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#71-158) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#77-157)\n", - "markdown": "[FixedPointMathLib.rpow(uint256,uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L71-L158) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L77-L157)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L71-L158", - "id": "689002e3bc5887c37efbbca861ab9ec47f766293178f650ae3d6f514b002c94c", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "_revert", - "source_mapping": { - "start": 7739, - "length": 540, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_revert(bytes,string)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 8070, - "length": 142, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 211, - 212, - 213, - 214 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_revert", - "source_mapping": { - "start": 7739, - "length": 540, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_revert(bytes,string)" - } - } - } - } - ], - "description": "AddressUpgradeable._revert(bytes,string) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#206-218) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#211-214)\n", - "markdown": "[AddressUpgradeable._revert(bytes,string)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L206-L218) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L211-L214)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L206-L218", - "id": "739c2c53d803e97b4475b0c59002e269bf280c020785e91d89e6f198833bfda0", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "values", - "source_mapping": { - "start": 12663, - "length": 297, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "EnumerableSetUpgradeable", - "source_mapping": { - "start": 1321, - "length": 11641, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "values(EnumerableSetUpgradeable.UintSet)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 12882, - "length": 48, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 372, - 373, - 374 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "values", - "source_mapping": { - "start": 12663, - "length": 297, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "EnumerableSetUpgradeable", - "source_mapping": { - "start": 1321, - "length": 11641, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "values(EnumerableSetUpgradeable.UintSet)" - } - } - } - } - ], - "description": "EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.UintSet) (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#367-377) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#372-374)\n", - "markdown": "[EnumerableSetUpgradeable.values(EnumerableSetUpgradeable.UintSet)](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L367-L377) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L372-L374)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L367-L377", - "id": "7d56bbef68d3d28816c6f1db6f457a021f9e797b84e7c3d7dbcc61c9462f0d2f", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDivDown", - "source_mapping": { - "start": 1564, - "length": 526, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDivDown(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 1744, - "length": 340, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDivDown", - "source_mapping": { - "start": 1564, - "length": 526, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDivDown(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.mulDivDown(uint256,uint256,uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#36-51) uses assembly\n\t- INLINE ASM (lib/solmate/src/utils/FixedPointMathLib.sol#42-50)\n", - "markdown": "[FixedPointMathLib.mulDivDown(uint256,uint256,uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L36-L51) uses assembly\n\t- [INLINE ASM](lib/solmate/src/utils/FixedPointMathLib.sol#L42-L50)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L36-L51", - "id": "9e144d907a30f66c9e2920440884a22c1725fb31d5d562c7fb53efa1509ea1b0", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "toString", - "source_mapping": { - "start": 437, - "length": 707, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "is_dependency": true, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StringsUpgradeable", - "source_mapping": { - "start": 199, - "length": 2098, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "toString(uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 732, - "length": 76, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "is_dependency": true, - "lines": [ - 24, - 25, - 26 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "toString", - "source_mapping": { - "start": 437, - "length": 707, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "is_dependency": true, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StringsUpgradeable", - "source_mapping": { - "start": 199, - "length": 2098, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "toString(uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 926, - "length": 93, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "is_dependency": true, - "lines": [ - 30, - 31, - 32 - ], - "starting_column": 17, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "toString", - "source_mapping": { - "start": 437, - "length": 707, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "is_dependency": true, - "lines": [ - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StringsUpgradeable", - "source_mapping": { - "start": 199, - "length": 2098, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "toString(uint256)" - } - } - } - } - ], - "description": "StringsUpgradeable.toString(uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#18-38) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#24-26)\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#30-32)\n", - "markdown": "[StringsUpgradeable.toString(uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L18-L38) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L24-L26)\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L30-L32)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L18-L38", - "id": "a992fcb04beb4b522d466219687aab5caf1862079a86d0a72ff29083031b1b83", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "getBooleanSlot", - "source_mapping": { - "start": 1913, - "length": 190, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 62, - 63, - 64, - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StorageSlotUpgradeable", - "source_mapping": { - "start": 1279, - "length": 1402, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getBooleanSlot(bytes32)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 2050, - "length": 47, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 64, - 65, - 66 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getBooleanSlot", - "source_mapping": { - "start": 1913, - "length": 190, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 62, - 63, - 64, - 65, - 66, - 67 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StorageSlotUpgradeable", - "source_mapping": { - "start": 1279, - "length": 1402, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getBooleanSlot(bytes32)" - } - } - } - } - ], - "description": "StorageSlotUpgradeable.getBooleanSlot(bytes32) (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#62-67) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#64-66)\n", - "markdown": "[StorageSlotUpgradeable.getBooleanSlot(bytes32)](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L62-L67) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L64-L66)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L62-L67", - "id": "abed8f4ef4fa2e3da0dfadfbc2db35dab5f0cddac1132ccf3de6ff9dfd330e08", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 1369, - "length": 166, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 27, - 28, - 29, - 30, - 31 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 1687, - "length": 82, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 36, - 37, - 38 - ], - "starting_column": 17, - "ending_column": 18 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 2291, - "length": 79, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 53, - 54, - 55 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 2442, - "length": 129, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 57, - 58, - 59, - 60 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 2846, - "length": 78, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 67, - 68, - 69 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 2996, - "length": 66, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 72, - 73, - 74 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 3257, - "length": 80, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 78, - 79, - 80 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 741, - "length": 4127, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FullMath", - "source_mapping": { - "start": 354, - "length": 5163, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "FullMath.mulDiv(uint256,uint256,uint256) (lib/v3-core/contracts/libraries/FullMath.sol#14-108) uses assembly\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#27-31)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#36-38)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#53-55)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#57-60)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#67-69)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#72-74)\n\t- INLINE ASM (lib/v3-core/contracts/libraries/FullMath.sol#78-80)\n", - "markdown": "[FullMath.mulDiv(uint256,uint256,uint256)](lib/v3-core/contracts/libraries/FullMath.sol#L14-L108) uses assembly\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L27-L31)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L36-L38)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L53-L55)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L57-L60)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L67-L69)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L72-L74)\n\t- [INLINE ASM](lib/v3-core/contracts/libraries/FullMath.sol#L78-L80)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/FullMath.sol#L14-L108", - "id": "cd4781abcd1d41fa749dcf4cc7a4749057c50a313df29ef331b4bb2d83971a0c", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 2280, - "length": 166, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 66, - 67, - 68, - 69, - 70 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 3015, - "length": 300, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 3683, - "length": 371, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "mulDiv", - "source_mapping": { - "start": 1678, - "length": 3925, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "MathUpgradeable", - "source_mapping": { - "start": 202, - "length": 12313, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "mulDiv(uint256,uint256,uint256)" - } - } - } - } - ], - "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#66-70)\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#86-93)\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#100-109)\n", - "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L66-L70)\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L86-L93)\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L100-L109)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", - "id": "eb7fc1d015df84fd39e386d4f4360b409e4375b3501e52d9825a5f98ce00bbbe", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "getBytes32Slot", - "source_mapping": { - "start": 2201, - "length": 190, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StorageSlotUpgradeable", - "source_mapping": { - "start": 1279, - "length": 1402, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getBytes32Slot(bytes32)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 2338, - "length": 47, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 74, - 75, - 76 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getBytes32Slot", - "source_mapping": { - "start": 2201, - "length": 190, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 72, - 73, - 74, - 75, - 76, - 77 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StorageSlotUpgradeable", - "source_mapping": { - "start": 1279, - "length": 1402, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getBytes32Slot(bytes32)" - } - } - } - } - ], - "description": "StorageSlotUpgradeable.getBytes32Slot(bytes32) (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#72-77) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#74-76)\n", - "markdown": "[StorageSlotUpgradeable.getBytes32Slot(bytes32)](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L72-L77) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L74-L76)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L72-L77", - "id": "f1477136301f065a939603e66af2ce9966e69e30be386b8261bade5d7a7d25f1", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "getAddressSlot", - "source_mapping": { - "start": 1625, - "length": 190, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StorageSlotUpgradeable", - "source_mapping": { - "start": 1279, - "length": 1402, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getAddressSlot(bytes32)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 1762, - "length": 47, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 54, - 55, - 56 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getAddressSlot", - "source_mapping": { - "start": 1625, - "length": 190, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 52, - 53, - 54, - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "StorageSlotUpgradeable", - "source_mapping": { - "start": 1279, - "length": 1402, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getAddressSlot(bytes32)" - } - } - } - } - ], - "description": "StorageSlotUpgradeable.getAddressSlot(bytes32) (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#52-57) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#54-56)\n", - "markdown": "[StorageSlotUpgradeable.getAddressSlot(bytes32)](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L52-L57) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L54-L56)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L52-L57", - "id": "fcaccdf637e880c618f6f15622fb469dee912b1a036bb71ad6b383881b62ae17", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - }, - { - "type": "node", - "name": "_tryCatchActive != false", - "source_mapping": { - "start": 1850, - "length": 24, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 51 - ], - "starting_column": 12, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapVelo", - "source_mapping": { - "start": 862, - "length": 1768, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "VeloSolidMixin", - "source_mapping": { - "start": 313, - "length": 4635, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapVelo(address,address,uint256,uint256,address,uint256,bool)" - } - } - } - } - ], - "description": "VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/VeloSolidMixin.sol#24-71) compares to a boolean constant:\n\t-_tryCatchActive != false (lib/vault-v2/src/mixins/VeloSolidMixin.sol#51)\n", - "markdown": "[VeloSolidMixin._swapVelo(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L24-L71) compares to a boolean constant:\n\t-[_tryCatchActive != false](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L51)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/VeloSolidMixin.sol#L24-L71", - "id": "3468c3b56c70dc328b6ce16a2e884a49779787f33d95ed13986ee13303b673fb", - "check": "boolean-equal", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - }, - { - "type": "node", - "name": "_tryCatchActive != false", - "source_mapping": { - "start": 1622, - "length": 24, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 45 - ], - "starting_column": 13, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapUniV2", - "source_mapping": { - "start": 748, - "length": 1626, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV2Mixin", - "source_mapping": { - "start": 234, - "length": 4634, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapUniV2(address,address,uint256,uint256,address,uint256,bool)" - } - } - } - } - ], - "description": "UniV2Mixin._swapUniV2(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/UniV2Mixin.sol#20-60) compares to a boolean constant:\n\t-_tryCatchActive != false (lib/vault-v2/src/mixins/UniV2Mixin.sol#45)\n", - "markdown": "[UniV2Mixin._swapUniV2(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/UniV2Mixin.sol#L20-L60) compares to a boolean constant:\n\t-[_tryCatchActive != false](lib/vault-v2/src/mixins/UniV2Mixin.sol#L45)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/UniV2Mixin.sol#L20-L60", - "id": "4d722cef03d795c4c7527723911fc2803c15560ae0f19f483e776f19951c36e6", - "check": "boolean-equal", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - }, - { - "type": "node", - "name": "_tryCatchActive != false", - "source_mapping": { - "start": 2254, - "length": 24, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 63 - ], - "starting_column": 13, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_swapBal", - "source_mapping": { - "start": 895, - "length": 1974, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BalMixin", - "source_mapping": { - "start": 307, - "length": 3662, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_swapBal(address,address,uint256,uint256,address,uint256,bool)" - } - } - } - } - ], - "description": "BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool) (lib/vault-v2/src/mixins/BalMixin.sol#25-76) compares to a boolean constant:\n\t-_tryCatchActive != false (lib/vault-v2/src/mixins/BalMixin.sol#63)\n", - "markdown": "[BalMixin._swapBal(address,address,uint256,uint256,address,uint256,bool)](lib/vault-v2/src/mixins/BalMixin.sol#L25-L76) compares to a boolean constant:\n\t-[_tryCatchActive != false](lib/vault-v2/src/mixins/BalMixin.sol#L63)\n", - "first_markdown_element": "lib/vault-v2/src/mixins/BalMixin.sol#L25-L76", - "id": "7bfc25a8f3bd571f220c04ccf03c188600dbeeb995e1e600bb2cb95af4059ff2", - "check": "boolean-equal", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": ">=0.4.22<0.9.0", - "source_mapping": { - "start": 32, - "length": 32, - "filename_relative": "lib/forge-std/src/console.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", - "filename_short": "lib/forge-std/src/console.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 33 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.4", - ".22", - "<", - "0.9", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 118, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 108, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 104, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 94, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 102, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 107, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 113, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 93, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 115, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 105, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 110, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 114, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 115, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 86, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 105, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 101, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 99, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 100, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 103, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 205, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 5 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 105, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/security/Pausable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/security/Pausable.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/security/Pausable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 114, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 115, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 86, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Context.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Context.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Context.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 32, - "length": 23, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 45, - "length": 23, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 169, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", - "filename_short": "lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IAsset.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IAsset.sol", - "filename_short": "lib/vault-v2/src/interfaces/IAsset.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IAuthorizer.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IAuthorizer.sol", - "filename_short": "lib/vault-v2/src/interfaces/IAuthorizer.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IBasePool.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBasePool.sol", - "filename_short": "lib/vault-v2/src/interfaces/IBasePool.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", - "filename_short": "lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IBeetVault.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBeetVault.sol", - "filename_short": "lib/vault-v2/src/interfaces/IBeetVault.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", - "filename_short": "lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/ISignaturesValidator.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISignaturesValidator.sol", - "filename_short": "lib/vault-v2/src/interfaces/ISignaturesValidator.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/ISwapErrors.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapErrors.sol", - "filename_short": "lib/vault-v2/src/interfaces/ISwapErrors.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/ISwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapper.sol", - "filename_short": "lib/vault-v2/src/interfaces/ISwapper.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/ISwapperSwaps.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapperSwaps.sol", - "filename_short": "lib/vault-v2/src/interfaces/ISwapperSwaps.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", - "filename_short": "lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 36, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IVeloPair.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloPair.sol", - "filename_short": "lib/vault-v2/src/interfaces/IVeloPair.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IVeloRouter.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloRouter.sol", - "filename_short": "lib/vault-v2/src/interfaces/IVeloRouter.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 32, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", - "filename_short": "lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "filename_short": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 82, - "length": 23, - "filename_relative": "lib/vault-v2/src/mixins/ReaperAccessControl.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/ReaperAccessControl.sol", - "filename_short": "lib/vault-v2/src/mixins/ReaperAccessControl.sol", - "is_dependency": true, - "lines": [ - 5 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 679, - "length": 23, - "filename_relative": "src/interfaces/IBalancerTwapOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancerTwapOracle.sol", - "filename_short": "src/interfaces/IBalancerTwapOracle.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "src/interfaces/ISwapperSwaps.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/ISwapperSwaps.sol", - "filename_short": "src/interfaces/ISwapperSwaps.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.2", - "source_mapping": { - "start": 116, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".2" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.2", - "source_mapping": { - "start": 113, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".2" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.1", - "source_mapping": { - "start": 101, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".1" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.1", - "source_mapping": { - "start": 101, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".1" - ] - } - }, - { - "type": "pragma", - "name": ">=0.8.0", - "source_mapping": { - "start": 42, - "length": 24, - "filename_relative": "lib/solmate/src/auth/Owned.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", - "filename_short": "lib/solmate/src/auth/Owned.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.8.0", - "source_mapping": { - "start": 42, - "length": 24, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.8.0", - "source_mapping": { - "start": 42, - "length": 24, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", - "filename_short": "lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", - "filename_short": "lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", - "filename_short": "lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", - "filename_short": "lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.7.5", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/vault-v2/src/interfaces/ISwapRouter.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapRouter.sol", - "filename_short": "lib/vault-v2/src/interfaces/ISwapRouter.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.7", - ".5" - ] - } - }, - { - "type": "pragma", - "name": ">=0.6.2", - "source_mapping": { - "start": 36, - "length": 24, - "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", - "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.6", - ".2" - ] - } - }, - { - "type": "pragma", - "name": ">=0.6.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.6", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/interfaces/IBalancer2TokensPool.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancer2TokensPool.sol", - "filename_short": "src/interfaces/IBalancer2TokensPool.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/interfaces/IExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IExercise.sol", - "filename_short": "src/interfaces/IExercise.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/interfaces/IOptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IOptionsToken.sol", - "filename_short": "src/interfaces/IOptionsToken.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/oracles/ThenaOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/ThenaOracle.sol", - "filename_short": "src/oracles/ThenaOracle.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/oracles/UniswapV3Oracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", - "filename_short": "src/oracles/UniswapV3Oracle.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": ">=0.7.0<0.9.0", - "source_mapping": { - "start": 723, - "length": 31, - "filename_relative": "src/interfaces/IBalancerVault.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancerVault.sol", - "filename_short": "src/interfaces/IBalancerVault.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 1, - "ending_column": 32 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.7", - ".0", - "<", - "0.9", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.7.0<0.9.0", - "source_mapping": { - "start": 38, - "length": 31, - "filename_relative": "src/interfaces/IERC20Mintable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IERC20Mintable.sol", - "filename_short": "src/interfaces/IERC20Mintable.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 32 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.7", - ".0", - "<", - "0.9", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.7.0<0.9.0", - "source_mapping": { - "start": 38, - "length": 31, - "filename_relative": "src/interfaces/IOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IOracle.sol", - "filename_short": "src/interfaces/IOracle.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 32 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.7", - ".0", - "<", - "0.9", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5", - "source_mapping": { - "start": 0, - "length": 22, - "filename_relative": "src/interfaces/IThenaPair.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IThenaPair.sol", - "filename_short": "src/interfaces/IThenaPair.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 23 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5" - ] - } - } - ], - "description": "12 different versions of Solidity are used:\n\t- Version constraint >=0.4.22<0.9.0 is used by:\n\t\t->=0.4.22<0.9.0 (lib/forge-std/src/console.sol#2)\n\t- Version constraint ^0.8.0 is used by:\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#5)\n\t\t-^0.8.0 (lib/openzeppelin-contracts/contracts/security/Pausable.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4)\n\t\t-^0.8.0 (lib/openzeppelin-contracts/contracts/utils/Context.sol#4)\n\t\t-^0.8.0 (lib/v3-core/contracts/libraries/FullMath.sol#2)\n\t\t-^0.8.0 (lib/v3-core/contracts/libraries/TickMath.sol#2)\n\t\t-^0.8.0 (lib/vault-v2/src/ReaperSwapper.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/AggregatorV3Interface.sol#4)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IAsset.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IAuthorizer.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IBasePool.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IBaseWeightedPool.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IBeetVault.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IPoolSwapStructs.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/ISignaturesValidator.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/ISwapErrors.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/ISwapper.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/ISwapperSwaps.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/ITemporarilyPausable.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#2)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IVeloPair.sol#2)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IVeloRouter.sol#2)\n\t\t-^0.8.0 (lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol#2)\n\t\t-^0.8.0 (lib/vault-v2/src/libraries/Babylonian.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/libraries/ReaperMathUtils.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/mixins/BalMixin.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/mixins/ReaperAccessControl.sol#5)\n\t\t-^0.8.0 (lib/vault-v2/src/mixins/UniV2Mixin.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/mixins/UniV3Mixin.sol#3)\n\t\t-^0.8.0 (lib/vault-v2/src/mixins/VeloSolidMixin.sol#3)\n\t\t-^0.8.0 (src/helpers/SwapHelper.sol#3)\n\t\t-^0.8.0 (src/interfaces/IBalancerTwapOracle.sol#15)\n\t\t-^0.8.0 (src/interfaces/ISwapperSwaps.sol#3)\n\t- Version constraint ^0.8.2 is used by:\n\t\t-^0.8.2 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#4)\n\t\t-^0.8.2 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#4)\n\t- Version constraint ^0.8.1 is used by:\n\t\t-^0.8.1 (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#4)\n\t\t-^0.8.1 (lib/openzeppelin-contracts/contracts/utils/Address.sol#4)\n\t- Version constraint >=0.8.0 is used by:\n\t\t->=0.8.0 (lib/solmate/src/auth/Owned.sol#2)\n\t\t->=0.8.0 (lib/solmate/src/tokens/ERC20.sol#2)\n\t\t->=0.8.0 (lib/solmate/src/utils/FixedPointMathLib.sol#2)\n\t- Version constraint >=0.5.0 is used by:\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol#2)\n\t\t->=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#2)\n\t\t->=0.5.0 (lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol#2)\n\t\t->=0.5.0 (lib/vault-v2/src/interfaces/IUniswapV3Factory.sol#2)\n\t\t->=0.5.0 (lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol#2)\n\t- Version constraint >=0.7.5 is used by:\n\t\t->=0.7.5 (lib/vault-v2/src/interfaces/ISwapRouter.sol#2)\n\t- Version constraint >=0.6.2 is used by:\n\t\t->=0.6.2 (lib/vault-v2/src/interfaces/IUniswapV2Router02.sol#2)\n\t- Version constraint >=0.6.0 is used by:\n\t\t->=0.6.0 (lib/vault-v2/src/libraries/TransferHelper.sol#2)\n\t- Version constraint ^0.8.13 is used by:\n\t\t-^0.8.13 (src/OptionsToken.sol#2)\n\t\t-^0.8.13 (src/exercise/BaseExercise.sol#2)\n\t\t-^0.8.13 (src/exercise/DiscountExercise.sol#2)\n\t\t-^0.8.13 (src/interfaces/IBalancer2TokensPool.sol#2)\n\t\t-^0.8.13 (src/interfaces/IExercise.sol#2)\n\t\t-^0.8.13 (src/interfaces/IOptionsToken.sol#2)\n\t\t-^0.8.13 (src/oracles/BalancerOracle.sol#2)\n\t\t-^0.8.13 (src/oracles/ThenaOracle.sol#2)\n\t\t-^0.8.13 (src/oracles/UniswapV3Oracle.sol#2)\n\t- Version constraint >=0.7.0<0.9.0 is used by:\n\t\t->=0.7.0<0.9.0 (src/interfaces/IBalancerVault.sol#17)\n\t\t->=0.7.0<0.9.0 (src/interfaces/IERC20Mintable.sol#3)\n\t\t->=0.7.0<0.9.0 (src/interfaces/IOracle.sol#3)\n\t- Version constraint >=0.5 is used by:\n\t\t->=0.5 (src/interfaces/IThenaPair.sol#1)\n", - "markdown": "12 different versions of Solidity are used:\n\t- Version constraint >=0.4.22<0.9.0 is used by:\n\t\t-[>=0.4.22<0.9.0](lib/forge-std/src/console.sol#L2)\n\t- Version constraint ^0.8.0 is used by:\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L5)\n\t\t-[^0.8.0](lib/openzeppelin-contracts/contracts/security/Pausable.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L4)\n\t\t-[^0.8.0](lib/openzeppelin-contracts/contracts/utils/Context.sol#L4)\n\t\t-[^0.8.0](lib/v3-core/contracts/libraries/FullMath.sol#L2)\n\t\t-[^0.8.0](lib/v3-core/contracts/libraries/TickMath.sol#L2)\n\t\t-[^0.8.0](lib/vault-v2/src/ReaperSwapper.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/AggregatorV3Interface.sol#L4)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IAsset.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IAuthorizer.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IBasePool.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IBaseWeightedPool.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IBeetVault.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IPoolSwapStructs.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/ISignaturesValidator.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/ISwapErrors.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/ISwapper.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/ISwapperSwaps.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/ITemporarilyPausable.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#L2)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IVeloPair.sol#L2)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IVeloRouter.sol#L2)\n\t\t-[^0.8.0](lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol#L2)\n\t\t-[^0.8.0](lib/vault-v2/src/libraries/Babylonian.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/libraries/ReaperMathUtils.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/mixins/BalMixin.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/mixins/ReaperAccessControl.sol#L5)\n\t\t-[^0.8.0](lib/vault-v2/src/mixins/UniV2Mixin.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/mixins/UniV3Mixin.sol#L3)\n\t\t-[^0.8.0](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L3)\n\t\t-[^0.8.0](src/helpers/SwapHelper.sol#L3)\n\t\t-[^0.8.0](src/interfaces/IBalancerTwapOracle.sol#L15)\n\t\t-[^0.8.0](src/interfaces/ISwapperSwaps.sol#L3)\n\t- Version constraint ^0.8.2 is used by:\n\t\t-[^0.8.2](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L4)\n\t\t-[^0.8.2](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#L4)\n\t- Version constraint ^0.8.1 is used by:\n\t\t-[^0.8.1](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L4)\n\t\t-[^0.8.1](lib/openzeppelin-contracts/contracts/utils/Address.sol#L4)\n\t- Version constraint >=0.8.0 is used by:\n\t\t-[>=0.8.0](lib/solmate/src/auth/Owned.sol#L2)\n\t\t-[>=0.8.0](lib/solmate/src/tokens/ERC20.sol#L2)\n\t\t-[>=0.8.0](lib/solmate/src/utils/FixedPointMathLib.sol#L2)\n\t- Version constraint >=0.5.0 is used by:\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol#L2)\n\t\t-[>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#L2)\n\t\t-[>=0.5.0](lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol#L2)\n\t\t-[>=0.5.0](lib/vault-v2/src/interfaces/IUniswapV3Factory.sol#L2)\n\t\t-[>=0.5.0](lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol#L2)\n\t- Version constraint >=0.7.5 is used by:\n\t\t-[>=0.7.5](lib/vault-v2/src/interfaces/ISwapRouter.sol#L2)\n\t- Version constraint >=0.6.2 is used by:\n\t\t-[>=0.6.2](lib/vault-v2/src/interfaces/IUniswapV2Router02.sol#L2)\n\t- Version constraint >=0.6.0 is used by:\n\t\t-[>=0.6.0](lib/vault-v2/src/libraries/TransferHelper.sol#L2)\n\t- Version constraint ^0.8.13 is used by:\n\t\t-[^0.8.13](src/OptionsToken.sol#L2)\n\t\t-[^0.8.13](src/exercise/BaseExercise.sol#L2)\n\t\t-[^0.8.13](src/exercise/DiscountExercise.sol#L2)\n\t\t-[^0.8.13](src/interfaces/IBalancer2TokensPool.sol#L2)\n\t\t-[^0.8.13](src/interfaces/IExercise.sol#L2)\n\t\t-[^0.8.13](src/interfaces/IOptionsToken.sol#L2)\n\t\t-[^0.8.13](src/oracles/BalancerOracle.sol#L2)\n\t\t-[^0.8.13](src/oracles/ThenaOracle.sol#L2)\n\t\t-[^0.8.13](src/oracles/UniswapV3Oracle.sol#L2)\n\t- Version constraint >=0.7.0<0.9.0 is used by:\n\t\t-[>=0.7.0<0.9.0](src/interfaces/IBalancerVault.sol#L17)\n\t\t-[>=0.7.0<0.9.0](src/interfaces/IERC20Mintable.sol#L3)\n\t\t-[>=0.7.0<0.9.0](src/interfaces/IOracle.sol#L3)\n\t- Version constraint >=0.5 is used by:\n\t\t-[>=0.5](src/interfaces/IThenaPair.sol#L1)\n", - "first_markdown_element": "lib/forge-std/src/console.sol#L2", - "id": "85edfa625830fd6d39749390d8a28c826b7e0471c23044a55a1d99f92b7f5482", - "check": "pragma", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) has a high cyclomatic complexity (25).\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) has a high cyclomatic complexity (25).\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "7dc850151568c0ccbadfaf18e5baa7aba58df9a7be7ede854c7801abedfda59a", - "check": "cyclomatic-complexity", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.8.2", - "source_mapping": { - "start": 116, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".2" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.2", - "source_mapping": { - "start": 113, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".2" - ] - } - } - ], - "description": "Version constraint ^0.8.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- ^0.8.2 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#4)\n\t- ^0.8.2 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#4)\n", - "markdown": "Version constraint ^0.8.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- [^0.8.2](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L4)\n\t- [^0.8.2](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#L4)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L4", - "id": "23c567b20d0424f0b9fdc3bc9515dded7c47d0f2c92a6223ce773baf018abb20", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": ">=0.6.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.6", - ".0" - ] - } - } - ], - "description": "Version constraint >=0.6.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- MissingEscapingInFormatting\n\t- ArraySliceDynamicallyEncodedBaseType\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow\n\t- YulOptimizerRedundantAssignmentBreakContinue.\nIt is used by:\n\t- >=0.6.0 (lib/vault-v2/src/libraries/TransferHelper.sol#2)\n", - "markdown": "Version constraint >=0.6.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- MissingEscapingInFormatting\n\t- ArraySliceDynamicallyEncodedBaseType\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow\n\t- YulOptimizerRedundantAssignmentBreakContinue.\nIt is used by:\n\t- [>=0.6.0](lib/vault-v2/src/libraries/TransferHelper.sol#L2)\n", - "first_markdown_element": "lib/vault-v2/src/libraries/TransferHelper.sol#L2", - "id": "2ad22408bbd50c54342714ef4d73fdcb7de70fc26f2f719e2d94e74975873eb7", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": ">=0.5", - "source_mapping": { - "start": 0, - "length": 22, - "filename_relative": "src/interfaces/IThenaPair.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IThenaPair.sol", - "filename_short": "src/interfaces/IThenaPair.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 23 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5" - ] - } - } - ], - "description": "Version constraint >=0.5 is too complex.\nIt is used by:\n\t- >=0.5 (src/interfaces/IThenaPair.sol#1)\n", - "markdown": "Version constraint >=0.5 is too complex.\nIt is used by:\n\t- [>=0.5](src/interfaces/IThenaPair.sol#L1)\n", - "first_markdown_element": "src/interfaces/IThenaPair.sol#L1", - "id": "2ad70665f7cd347f547e5a92ff885c19999dbf2fae965bf1a9e88ae34d4842da", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.8.1", - "source_mapping": { - "start": 101, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".1" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.1", - "source_mapping": { - "start": 101, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".1" - ] - } - } - ], - "description": "Version constraint ^0.8.1 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- ^0.8.1 (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#4)\n\t- ^0.8.1 (lib/openzeppelin-contracts/contracts/utils/Address.sol#4)\n", - "markdown": "Version constraint ^0.8.1 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- [^0.8.1](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L4)\n\t- [^0.8.1](lib/openzeppelin-contracts/contracts/utils/Address.sol#L4)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L4", - "id": "5b4c66a1bb40ec6a66dbf52a4cf24f6a91614ede5bb20cae9a049c071c3b9be2", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": ">=0.8.0", - "source_mapping": { - "start": 42, - "length": 24, - "filename_relative": "lib/solmate/src/auth/Owned.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/auth/Owned.sol", - "filename_short": "lib/solmate/src/auth/Owned.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.8.0", - "source_mapping": { - "start": 42, - "length": 24, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.8.0", - "source_mapping": { - "start": 42, - "length": 24, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.8", - ".0" - ] - } - } - ], - "description": "Version constraint >=0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- >=0.8.0 (lib/solmate/src/auth/Owned.sol#2)\n\t- >=0.8.0 (lib/solmate/src/tokens/ERC20.sol#2)\n\t- >=0.8.0 (lib/solmate/src/utils/FixedPointMathLib.sol#2)\n", - "markdown": "Version constraint >=0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- [>=0.8.0](lib/solmate/src/auth/Owned.sol#L2)\n\t- [>=0.8.0](lib/solmate/src/tokens/ERC20.sol#L2)\n\t- [>=0.8.0](lib/solmate/src/utils/FixedPointMathLib.sol#L2)\n", - "first_markdown_element": "lib/solmate/src/auth/Owned.sol#L2", - "id": "608762324767ce76c3af44990a7836a9dfdba566defdc7b70d6131bf689edff6", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": ">=0.4.22<0.9.0", - "source_mapping": { - "start": 32, - "length": 32, - "filename_relative": "lib/forge-std/src/console.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", - "filename_short": "lib/forge-std/src/console.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 33 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.4", - ".22", - "<", - "0.9", - ".0" - ] - } - } - ], - "description": "Version constraint >=0.4.22<0.9.0 is too complex.\nIt is used by:\n\t- >=0.4.22<0.9.0 (lib/forge-std/src/console.sol#2)\n", - "markdown": "Version constraint >=0.4.22<0.9.0 is too complex.\nIt is used by:\n\t- [>=0.4.22<0.9.0](lib/forge-std/src/console.sol#L2)\n", - "first_markdown_element": "lib/forge-std/src/console.sol#L2", - "id": "6c8ea62efd4799f5b24c03f450a6e012ab55c2446251d81bfa3eca7df3593083", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": ">=0.7.0<0.9.0", - "source_mapping": { - "start": 723, - "length": 31, - "filename_relative": "src/interfaces/IBalancerVault.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancerVault.sol", - "filename_short": "src/interfaces/IBalancerVault.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 1, - "ending_column": 32 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.7", - ".0", - "<", - "0.9", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.7.0<0.9.0", - "source_mapping": { - "start": 38, - "length": 31, - "filename_relative": "src/interfaces/IERC20Mintable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IERC20Mintable.sol", - "filename_short": "src/interfaces/IERC20Mintable.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 32 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.7", - ".0", - "<", - "0.9", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.7.0<0.9.0", - "source_mapping": { - "start": 38, - "length": 31, - "filename_relative": "src/interfaces/IOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IOracle.sol", - "filename_short": "src/interfaces/IOracle.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 32 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.7", - ".0", - "<", - "0.9", - ".0" - ] - } - } - ], - "description": "Version constraint >=0.7.0<0.9.0 is too complex.\nIt is used by:\n\t- >=0.7.0<0.9.0 (src/interfaces/IBalancerVault.sol#17)\n\t- >=0.7.0<0.9.0 (src/interfaces/IERC20Mintable.sol#3)\n\t- >=0.7.0<0.9.0 (src/interfaces/IOracle.sol#3)\n", - "markdown": "Version constraint >=0.7.0<0.9.0 is too complex.\nIt is used by:\n\t- [>=0.7.0<0.9.0](src/interfaces/IBalancerVault.sol#L17)\n\t- [>=0.7.0<0.9.0](src/interfaces/IERC20Mintable.sol#L3)\n\t- [>=0.7.0<0.9.0](src/interfaces/IOracle.sol#L3)\n", - "first_markdown_element": "src/interfaces/IBalancerVault.sol#L17", - "id": "76329079d414df38af98aae17d79222e359e9f99d2775292b8f625e9c4ee13d0", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 118, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 108, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 104, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 94, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 102, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 107, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 113, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 93, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 115, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 105, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 110, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 114, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 115, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 86, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 105, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 101, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 99, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 100, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 103, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 205, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol", - "is_dependency": true, - "lines": [ - 5 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 105, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/security/Pausable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/security/Pausable.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/security/Pausable.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 114, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 115, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 86, - "length": 23, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Context.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Context.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Context.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 32, - "length": 23, - "filename_relative": "lib/v3-core/contracts/libraries/FullMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/FullMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/FullMath.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 45, - "length": 23, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 169, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", - "filename_short": "lib/vault-v2/src/interfaces/AggregatorV3Interface.sol", - "is_dependency": true, - "lines": [ - 4 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IAsset.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IAsset.sol", - "filename_short": "lib/vault-v2/src/interfaces/IAsset.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IAuthorizer.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IAuthorizer.sol", - "filename_short": "lib/vault-v2/src/interfaces/IAuthorizer.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IBasePool.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBasePool.sol", - "filename_short": "lib/vault-v2/src/interfaces/IBasePool.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", - "filename_short": "lib/vault-v2/src/interfaces/IBaseWeightedPool.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IBeetVault.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IBeetVault.sol", - "filename_short": "lib/vault-v2/src/interfaces/IBeetVault.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", - "filename_short": "lib/vault-v2/src/interfaces/IPoolSwapStructs.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/ISignaturesValidator.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISignaturesValidator.sol", - "filename_short": "lib/vault-v2/src/interfaces/ISignaturesValidator.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/ISwapErrors.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapErrors.sol", - "filename_short": "lib/vault-v2/src/interfaces/ISwapErrors.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/ISwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapper.sol", - "filename_short": "lib/vault-v2/src/interfaces/ISwapper.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/ISwapperSwaps.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapperSwaps.sol", - "filename_short": "lib/vault-v2/src/interfaces/ISwapperSwaps.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", - "filename_short": "lib/vault-v2/src/interfaces/ITemporarilyPausable.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 36, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IVeloPair.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloPair.sol", - "filename_short": "lib/vault-v2/src/interfaces/IVeloPair.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IVeloRouter.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloRouter.sol", - "filename_short": "lib/vault-v2/src/interfaces/IVeloRouter.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 32, - "length": 23, - "filename_relative": "lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", - "filename_short": "lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "filename_short": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/mixins/BalMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/BalMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/BalMixin.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 82, - "length": 23, - "filename_relative": "lib/vault-v2/src/mixins/ReaperAccessControl.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/ReaperAccessControl.sol", - "filename_short": "lib/vault-v2/src/mixins/ReaperAccessControl.sol", - "is_dependency": true, - "lines": [ - 5 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV2Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV2Mixin.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "filename_short": "lib/vault-v2/src/mixins/VeloSolidMixin.sol", - "is_dependency": true, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 38, - "length": 23, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 679, - "length": 23, - "filename_relative": "src/interfaces/IBalancerTwapOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancerTwapOracle.sol", - "filename_short": "src/interfaces/IBalancerTwapOracle.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.0", - "source_mapping": { - "start": 37, - "length": 23, - "filename_relative": "src/interfaces/ISwapperSwaps.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/ISwapperSwaps.sol", - "filename_short": "src/interfaces/ISwapperSwaps.sol", - "is_dependency": false, - "lines": [ - 3 - ], - "starting_column": 1, - "ending_column": 24 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".0" - ] - } - } - ], - "description": "Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#5)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/security/Pausable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/utils/Context.sol#4)\n\t- ^0.8.0 (lib/v3-core/contracts/libraries/FullMath.sol#2)\n\t- ^0.8.0 (lib/v3-core/contracts/libraries/TickMath.sol#2)\n\t- ^0.8.0 (lib/vault-v2/src/ReaperSwapper.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/AggregatorV3Interface.sol#4)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IAsset.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IAuthorizer.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IBasePool.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IBaseWeightedPool.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IBeetVault.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IPoolSwapStructs.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/ISignaturesValidator.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/ISwapErrors.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/ISwapper.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/ISwapperSwaps.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/ITemporarilyPausable.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#2)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IVeloPair.sol#2)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IVeloRouter.sol#2)\n\t- ^0.8.0 (lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol#2)\n\t- ^0.8.0 (lib/vault-v2/src/libraries/Babylonian.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/libraries/ReaperMathUtils.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/mixins/BalMixin.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/mixins/ReaperAccessControl.sol#5)\n\t- ^0.8.0 (lib/vault-v2/src/mixins/UniV2Mixin.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/mixins/UniV3Mixin.sol#3)\n\t- ^0.8.0 (lib/vault-v2/src/mixins/VeloSolidMixin.sol#3)\n\t- ^0.8.0 (src/helpers/SwapHelper.sol#3)\n\t- ^0.8.0 (src/interfaces/IBalancerTwapOracle.sol#15)\n\t- ^0.8.0 (src/interfaces/ISwapperSwaps.sol#3)\n", - "markdown": "Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol#L5)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/security/Pausable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/utils/Context.sol#L4)\n\t- [^0.8.0](lib/v3-core/contracts/libraries/FullMath.sol#L2)\n\t- [^0.8.0](lib/v3-core/contracts/libraries/TickMath.sol#L2)\n\t- [^0.8.0](lib/vault-v2/src/ReaperSwapper.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/AggregatorV3Interface.sol#L4)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IAsset.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IAuthorizer.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IBasePool.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IBaseWeightedPool.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IBeetVault.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IPoolSwapStructs.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/ISignaturesValidator.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/ISwapErrors.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/ISwapper.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/ISwapperSwaps.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/ITemporarilyPausable.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#L2)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IVeloPair.sol#L2)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IVeloRouter.sol#L2)\n\t- [^0.8.0](lib/vault-v2/src/interfaces/IVeloV1AndV2Factory.sol#L2)\n\t- [^0.8.0](lib/vault-v2/src/libraries/Babylonian.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/libraries/ReaperMathUtils.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/mixins/BalMixin.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/mixins/ReaperAccessControl.sol#L5)\n\t- [^0.8.0](lib/vault-v2/src/mixins/UniV2Mixin.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/mixins/UniV3Mixin.sol#L3)\n\t- [^0.8.0](lib/vault-v2/src/mixins/VeloSolidMixin.sol#L3)\n\t- [^0.8.0](src/helpers/SwapHelper.sol#L3)\n\t- [^0.8.0](src/interfaces/IBalancerTwapOracle.sol#L15)\n\t- [^0.8.0](src/interfaces/ISwapperSwaps.sol#L3)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L4", - "id": "7bba08adf487efdfae92c045cfb77dbad46ee58270f68522c853dc82c1e990d1", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": ">=0.7.5", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/vault-v2/src/interfaces/ISwapRouter.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/ISwapRouter.sol", - "filename_short": "lib/vault-v2/src/interfaces/ISwapRouter.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.7", - ".5" - ] - } - } - ], - "description": "Version constraint >=0.7.5 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- >=0.7.5 (lib/vault-v2/src/interfaces/ISwapRouter.sol#2)\n", - "markdown": "Version constraint >=0.7.5 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- [>=0.7.5](lib/vault-v2/src/interfaces/ISwapRouter.sol#L2)\n", - "first_markdown_element": "lib/vault-v2/src/interfaces/ISwapRouter.sol#L2", - "id": "9c890bf1b0570a6ad5a5771e5200b17d26d14d586d8c631f6f0a188594d81fe9", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": ">=0.6.2", - "source_mapping": { - "start": 36, - "length": 24, - "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", - "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router02.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.6", - ".2" - ] - } - } - ], - "description": "Version constraint >=0.6.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- MissingEscapingInFormatting\n\t- ArraySliceDynamicallyEncodedBaseType\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow.\nIt is used by:\n\t- >=0.6.2 (lib/vault-v2/src/interfaces/IUniswapV2Router02.sol#2)\n", - "markdown": "Version constraint >=0.6.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- MissingEscapingInFormatting\n\t- ArraySliceDynamicallyEncodedBaseType\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow.\nIt is used by:\n\t- [>=0.6.2](lib/vault-v2/src/interfaces/IUniswapV2Router02.sol#L2)\n", - "first_markdown_element": "lib/vault-v2/src/interfaces/IUniswapV2Router02.sol#L2", - "id": "bb0533356ecafe8099cc0d63ad30c4f7a6c44a4cbc4b5ed69e728fc32e446f1f", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/interfaces/IBalancer2TokensPool.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IBalancer2TokensPool.sol", - "filename_short": "src/interfaces/IBalancer2TokensPool.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/interfaces/IExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IExercise.sol", - "filename_short": "src/interfaces/IExercise.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/interfaces/IOptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/interfaces/IOptionsToken.sol", - "filename_short": "src/interfaces/IOptionsToken.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/oracles/BalancerOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/BalancerOracle.sol", - "filename_short": "src/oracles/BalancerOracle.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/oracles/ThenaOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/ThenaOracle.sol", - "filename_short": "src/oracles/ThenaOracle.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - }, - { - "type": "pragma", - "name": "^0.8.13", - "source_mapping": { - "start": 37, - "length": 24, - "filename_relative": "src/oracles/UniswapV3Oracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", - "filename_short": "src/oracles/UniswapV3Oracle.sol", - "is_dependency": false, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.8", - ".13" - ] - } - } - ], - "description": "Version constraint ^0.8.13 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- VerbatimInvalidDeduplication\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- StorageWriteRemovalBeforeConditionalTermination\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- InlineAssemblyMemorySideEffects\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation.\nIt is used by:\n\t- ^0.8.13 (src/OptionsToken.sol#2)\n\t- ^0.8.13 (src/exercise/BaseExercise.sol#2)\n\t- ^0.8.13 (src/exercise/DiscountExercise.sol#2)\n\t- ^0.8.13 (src/interfaces/IBalancer2TokensPool.sol#2)\n\t- ^0.8.13 (src/interfaces/IExercise.sol#2)\n\t- ^0.8.13 (src/interfaces/IOptionsToken.sol#2)\n\t- ^0.8.13 (src/oracles/BalancerOracle.sol#2)\n\t- ^0.8.13 (src/oracles/ThenaOracle.sol#2)\n\t- ^0.8.13 (src/oracles/UniswapV3Oracle.sol#2)\n", - "markdown": "Version constraint ^0.8.13 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- VerbatimInvalidDeduplication\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- StorageWriteRemovalBeforeConditionalTermination\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- InlineAssemblyMemorySideEffects\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation.\nIt is used by:\n\t- [^0.8.13](src/OptionsToken.sol#L2)\n\t- [^0.8.13](src/exercise/BaseExercise.sol#L2)\n\t- [^0.8.13](src/exercise/DiscountExercise.sol#L2)\n\t- [^0.8.13](src/interfaces/IBalancer2TokensPool.sol#L2)\n\t- [^0.8.13](src/interfaces/IExercise.sol#L2)\n\t- [^0.8.13](src/interfaces/IOptionsToken.sol#L2)\n\t- [^0.8.13](src/oracles/BalancerOracle.sol#L2)\n\t- [^0.8.13](src/oracles/ThenaOracle.sol#L2)\n\t- [^0.8.13](src/oracles/UniswapV3Oracle.sol#L2)\n", - "first_markdown_element": "src/OptionsToken.sol#L2", - "id": "d77d9a4f3322696453d48caf7374c78bcac298207384a6493c0203cab485063e", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", - "filename_short": "lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "filename_short": "lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", - "filename_short": "lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", - "filename_short": "lib/vault-v2/src/interfaces/IUniswapV3Factory.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": ">=0.5.0", - "source_mapping": { - "start": 45, - "length": 24, - "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", - "filename_short": "lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol", - "is_dependency": true, - "lines": [ - 2 - ], - "starting_column": 1, - "ending_column": 25 - }, - "type_specific_fields": { - "directive": [ - "solidity", - ">=", - "0.5", - ".0" - ] - } - } - ], - "description": "Version constraint >=0.5.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- DirtyBytesArrayToStorage\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow\n\t- privateCanBeOverridden\n\t- SignedArrayStorageCopy\n\t- ABIEncoderV2StorageArrayWithMultiSlotElement\n\t- DynamicConstructorArgumentsClippedABIV2\n\t- UninitializedFunctionPointerInConstructor\n\t- IncorrectEventSignatureInLibraries\n\t- ABIEncoderV2PackedStorage.\nIt is used by:\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol#2)\n\t- >=0.5.0 (lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#2)\n\t- >=0.5.0 (lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol#2)\n\t- >=0.5.0 (lib/vault-v2/src/interfaces/IUniswapV3Factory.sol#2)\n\t- >=0.5.0 (lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol#2)\n", - "markdown": "Version constraint >=0.5.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- DirtyBytesArrayToStorage\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching\n\t- EmptyByteArrayCopy\n\t- DynamicArrayCleanup\n\t- ImplicitConstructorCallvalueCheck\n\t- TupleAssignmentMultiStackSlotComponents\n\t- MemoryArrayCreationOverflow\n\t- privateCanBeOverridden\n\t- SignedArrayStorageCopy\n\t- ABIEncoderV2StorageArrayWithMultiSlotElement\n\t- DynamicConstructorArgumentsClippedABIV2\n\t- UninitializedFunctionPointerInConstructor\n\t- IncorrectEventSignatureInLibraries\n\t- ABIEncoderV2PackedStorage.\nIt is used by:\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolErrors.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol#L2)\n\t- [>=0.5.0](lib/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol#L2)\n\t- [>=0.5.0](lib/vault-v2/src/interfaces/IPeripheryImmutableState.sol#L2)\n\t- [>=0.5.0](lib/vault-v2/src/interfaces/IUniswapV3Factory.sol#L2)\n\t- [>=0.5.0](lib/vault-v2/src/interfaces/IUniswapV3SwapCallback.sol#L2)\n", - "first_markdown_element": "lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol#L2", - "id": "e84a495d364105fdd86e3c7f8f77d282f0048ce3bd2dd58f1ffef9abeb868a29", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5240, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4960, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - } - } - ], - "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#128-137):\n\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#135)\n", - "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L128-L137):\n\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L135)\n", - "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L128-L137", - "id": "117f0e40fe1352d1526a3c30c36971a0228cffa749da9528fa1d65423334e755", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "safeTransfer", - "source_mapping": { - "start": 1152, - "length": 279, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TransferHelper", - "source_mapping": { - "start": 108, - "length": 2309, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransfer(address,address,uint256)" - } - }, - { - "type": "node", - "name": "(success,data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector,to,value))", - "source_mapping": { - "start": 1235, - "length": 107, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 25 - ], - "starting_column": 9, - "ending_column": 116 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "safeTransfer", - "source_mapping": { - "start": 1152, - "length": 279, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TransferHelper", - "source_mapping": { - "start": 108, - "length": 2309, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransfer(address,address,uint256)" - } - } - } - } - ], - "description": "Low level call in TransferHelper.safeTransfer(address,address,uint256) (lib/vault-v2/src/libraries/TransferHelper.sol#24-27):\n\t- (success,data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector,to,value)) (lib/vault-v2/src/libraries/TransferHelper.sol#25)\n", - "markdown": "Low level call in [TransferHelper.safeTransfer(address,address,uint256)](lib/vault-v2/src/libraries/TransferHelper.sol#L24-L27):\n\t- [(success,data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector,to,value))](lib/vault-v2/src/libraries/TransferHelper.sol#L25)\n", - "first_markdown_element": "lib/vault-v2/src/libraries/TransferHelper.sol#L24-L27", - "id": "25ed2c6c6c60a5ffbabebdd4d6f7bfd18fd58359a16acbf51f11d083bbc5b7a6", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 540, - "length": 320, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TransferHelper", - "source_mapping": { - "start": 108, - "length": 2309, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,address,uint256)" - } - }, - { - "type": "node", - "name": "(success,data) = token.call(abi.encodeWithSelector(IERC20.transferFrom.selector,from,to,value))", - "source_mapping": { - "start": 641, - "length": 129, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 14, - 15 - ], - "starting_column": 9, - "ending_column": 94 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "safeTransferFrom", - "source_mapping": { - "start": 540, - "length": 320, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 13, - 14, - 15, - 16, - 17 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TransferHelper", - "source_mapping": { - "start": 108, - "length": 2309, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferFrom(address,address,address,uint256)" - } - } - } - } - ], - "description": "Low level call in TransferHelper.safeTransferFrom(address,address,address,uint256) (lib/vault-v2/src/libraries/TransferHelper.sol#13-17):\n\t- (success,data) = token.call(abi.encodeWithSelector(IERC20.transferFrom.selector,from,to,value)) (lib/vault-v2/src/libraries/TransferHelper.sol#14-15)\n", - "markdown": "Low level call in [TransferHelper.safeTransferFrom(address,address,address,uint256)](lib/vault-v2/src/libraries/TransferHelper.sol#L13-L17):\n\t- [(success,data) = token.call(abi.encodeWithSelector(IERC20.transferFrom.selector,from,to,value))](lib/vault-v2/src/libraries/TransferHelper.sol#L14-L15)\n", - "first_markdown_element": "lib/vault-v2/src/libraries/TransferHelper.sol#L13-L17", - "id": "4106472e91e5e4243fd3d3b66b2a8990e1c95c0a5bf0a286b8e1e6597c12ebb6", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "_functionDelegateCall", - "source_mapping": { - "start": 6780, - "length": 455, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 184, - 185, - 186, - 187, - 188, - 189, - 190 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC1967UpgradeUpgradeable", - "source_mapping": { - "start": 661, - "length": 6867, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_functionDelegateCall(address,bytes)" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.delegatecall(data)", - "source_mapping": { - "start": 7045, - "length": 67, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 188 - ], - "starting_column": 9, - "ending_column": 76 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_functionDelegateCall", - "source_mapping": { - "start": 6780, - "length": 455, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 184, - 185, - 186, - 187, - 188, - 189, - 190 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC1967UpgradeUpgradeable", - "source_mapping": { - "start": 661, - "length": 6867, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_functionDelegateCall(address,bytes)" - } - } - } - } - ], - "description": "Low level call in ERC1967UpgradeUpgradeable._functionDelegateCall(address,bytes) (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#184-190):\n\t- (success,returndata) = target.delegatecall(data) (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#188)\n", - "markdown": "Low level call in [ERC1967UpgradeUpgradeable._functionDelegateCall(address,bytes)](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L184-L190):\n\t- [(success,returndata) = target.delegatecall(data)](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L188)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L184-L190", - "id": "68c54f03456c9af14bc78976aaac6bce102000001fe91323e0ffc2d36d3acd64", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sendValue", - "source_mapping": { - "start": 2412, - "length": 312, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendValue(address,uint256)" - } - }, - { - "type": "node", - "name": "(success,None) = recipient.call{value: amount}()", - "source_mapping": { - "start": 2577, - "length": 52, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 63 - ], - "starting_column": 9, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sendValue", - "source_mapping": { - "start": 2412, - "length": 312, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendValue(address,uint256)" - } - } - } - } - ], - "description": "Low level call in Address.sendValue(address,uint256) (lib/openzeppelin-contracts/contracts/utils/Address.sol#60-65):\n\t- (success,None) = recipient.call{value: amount}() (lib/openzeppelin-contracts/contracts/utils/Address.sol#63)\n", - "markdown": "Low level call in [Address.sendValue(address,uint256)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L60-L65):\n\t- [(success,None) = recipient.call{value: amount}()](lib/openzeppelin-contracts/contracts/utils/Address.sol#L63)\n", - "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L60-L65", - "id": "71a3a6ee368d2284f3a1f62a49cfd8cdecd854d6c9799bb82199830989d7fb6c", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sendValue", - "source_mapping": { - "start": 2423, - "length": 312, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendValue(address,uint256)" - } - }, - { - "type": "node", - "name": "(success,None) = recipient.call{value: amount}()", - "source_mapping": { - "start": 2588, - "length": 52, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 63 - ], - "starting_column": 9, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sendValue", - "source_mapping": { - "start": 2423, - "length": 312, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 60, - 61, - 62, - 63, - 64, - 65 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendValue(address,uint256)" - } - } - } - } - ], - "description": "Low level call in AddressUpgradeable.sendValue(address,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#60-65):\n\t- (success,None) = recipient.call{value: amount}() (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#63)\n", - "markdown": "Low level call in [AddressUpgradeable.sendValue(address,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L60-L65):\n\t- [(success,None) = recipient.call{value: amount}()](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L63)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L60-L65", - "id": "89d29e5a468e08c404fcc98bf6872b9e33ca2f30eaea1879f1d6a95c9faca274", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "functionStaticCall", - "source_mapping": { - "start": 5975, - "length": 326, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionStaticCall(address,bytes,string)" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.staticcall(data)", - "source_mapping": { - "start": 6143, - "length": 65, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 160 - ], - "starting_column": 9, - "ending_column": 74 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionStaticCall", - "source_mapping": { - "start": 5975, - "length": 326, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionStaticCall(address,bytes,string)" - } - } - } - } - ], - "description": "Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#155-162):\n\t- (success,returndata) = target.staticcall(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#160)\n", - "markdown": "Low level call in [AddressUpgradeable.functionStaticCall(address,bytes,string)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L155-L162):\n\t- [(success,returndata) = target.staticcall(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L160)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L155-L162", - "id": "930ee0ffde6f0923876c4bc0067edc13707a3214f1d8d8954a2ef16471f1ee87", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "functionStaticCall", - "source_mapping": { - "start": 5964, - "length": 326, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionStaticCall(address,bytes,string)" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.staticcall(data)", - "source_mapping": { - "start": 6132, - "length": 65, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 160 - ], - "starting_column": 9, - "ending_column": 74 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionStaticCall", - "source_mapping": { - "start": 5964, - "length": 326, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionStaticCall(address,bytes,string)" - } - } - } - } - ], - "description": "Low level call in Address.functionStaticCall(address,bytes,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#155-162):\n\t- (success,returndata) = target.staticcall(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#160)\n", - "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L155-L162):\n\t- [(success,returndata) = target.staticcall(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L160)\n", - "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L155-L162", - "id": "93eb0561ad76cb924a6646e71a8388be0f653be8a9cd37bdb60e25805d8be051", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "safeTransferETH", - "source_mapping": { - "start": 2251, - "length": 164, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 43, - 44, - 45, - 46 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TransferHelper", - "source_mapping": { - "start": 108, - "length": 2309, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferETH(address,uint256)" - } - }, - { - "type": "node", - "name": "(success,None) = to.call{value: value}(new bytes(0))", - "source_mapping": { - "start": 2322, - "length": 53, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 44 - ], - "starting_column": 9, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "safeTransferETH", - "source_mapping": { - "start": 2251, - "length": 164, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 43, - 44, - 45, - 46 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TransferHelper", - "source_mapping": { - "start": 108, - "length": 2309, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeTransferETH(address,uint256)" - } - } - } - } - ], - "description": "Low level call in TransferHelper.safeTransferETH(address,uint256) (lib/vault-v2/src/libraries/TransferHelper.sol#43-46):\n\t- (success,None) = to.call{value: value}(new bytes(0)) (lib/vault-v2/src/libraries/TransferHelper.sol#44)\n", - "markdown": "Low level call in [TransferHelper.safeTransferETH(address,uint256)](lib/vault-v2/src/libraries/TransferHelper.sol#L43-L46):\n\t- [(success,None) = to.call{value: value}(new bytes(0))](lib/vault-v2/src/libraries/TransferHelper.sol#L44)\n", - "first_markdown_element": "lib/vault-v2/src/libraries/TransferHelper.sol#L43-L46", - "id": "a7ee1b8ee08e673c81b6be63d50aa8273a86fb1be76e38aa60b066b6cb985739", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "safeApprove", - "source_mapping": { - "start": 1784, - "length": 277, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TransferHelper", - "source_mapping": { - "start": 108, - "length": 2309, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeApprove(address,address,uint256)" - } - }, - { - "type": "node", - "name": "(success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value))", - "source_mapping": { - "start": 1866, - "length": 106, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 35 - ], - "starting_column": 9, - "ending_column": 115 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "safeApprove", - "source_mapping": { - "start": 1784, - "length": 277, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 34, - 35, - 36, - 37 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TransferHelper", - "source_mapping": { - "start": 108, - "length": 2309, - "filename_relative": "lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/TransferHelper.sol", - "filename_short": "lib/vault-v2/src/libraries/TransferHelper.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "safeApprove(address,address,uint256)" - } - } - } - } - ], - "description": "Low level call in TransferHelper.safeApprove(address,address,uint256) (lib/vault-v2/src/libraries/TransferHelper.sol#34-37):\n\t- (success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value)) (lib/vault-v2/src/libraries/TransferHelper.sol#35)\n", - "markdown": "Low level call in [TransferHelper.safeApprove(address,address,uint256)](lib/vault-v2/src/libraries/TransferHelper.sol#L34-L37):\n\t- [(success,data) = token.call(abi.encodeWithSelector(IERC20.approve.selector,to,value))](lib/vault-v2/src/libraries/TransferHelper.sol#L35)\n", - "first_markdown_element": "lib/vault-v2/src/libraries/TransferHelper.sol#L34-L37", - "id": "c7fac630cfc9b967d8af50ae5e1c350df9a222c8c9e8ef56e33726ed42bf6bfd", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.call{value: value}(data)", - "source_mapping": { - "start": 5251, - "length": 73, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 82 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionCallWithValue", - "source_mapping": { - "start": 4971, - "length": 446, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AddressUpgradeable", - "source_mapping": { - "start": 194, - "length": 8087, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionCallWithValue(address,bytes,uint256,string)" - } - } - } - } - ], - "description": "Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#128-137):\n\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#135)\n", - "markdown": "Low level call in [AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L128-L137):\n\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L135)\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L128-L137", - "id": "c89bbc1f4bb1262a39f9090cc1b9e7447b4593134afdcf6677ccbd6a394243ae", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "functionDelegateCall", - "source_mapping": { - "start": 6853, - "length": 325, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionDelegateCall(address,bytes,string)" - } - }, - { - "type": "node", - "name": "(success,returndata) = target.delegatecall(data)", - "source_mapping": { - "start": 7018, - "length": 67, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 185 - ], - "starting_column": 9, - "ending_column": 76 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "functionDelegateCall", - "source_mapping": { - "start": 6853, - "length": 325, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 194, - "length": 8964, - "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/utils/Address.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "functionDelegateCall(address,bytes,string)" - } - } - } - } - ], - "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#180-187):\n\t- (success,returndata) = target.delegatecall(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#185)\n", - "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L180-L187):\n\t- [(success,returndata) = target.delegatecall(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L185)\n", - "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L180-L187", - "id": "d195a90c4848e59b62bdf1e5bf577abf5a3a0d92ac7dad04aef4ca0c978598bb", - "check": "low-level-calls", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 3672, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 97 - ], - "starting_column": 71, - "ending_column": 86 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateUniV2SwapPath", - "source_mapping": { - "start": 3606, - "length": 253, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 97, - 98, - 99, - 100, - 101, - 102, - 103 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateUniV2SwapPath(address,address,address,address[])" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._router (lib/vault-v2/src/ReaperSwapper.sol#97) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._router](lib/vault-v2/src/ReaperSwapper.sol#L97) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L97", - "id": "045fb660d1db15a01f9c99a6b5f6fb1408a8fd0d9c8a18d9df6c0ba49a374583", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 9195, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 258 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 9098, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#258) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L258) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L258", - "id": "056e10de3ceb71ae24ecfcaa44f6c9ca1e39f54e0a350667ed239b6dc8076db7", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 5256, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 144 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._router (lib/vault-v2/src/ReaperSwapper.sol#144) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._router](lib/vault-v2/src/ReaperSwapper.sol#L144) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L144", - "id": "0787751791a4c77b7495d89adc97395e4ffcf397cb1818fdb17614015b8de9dc", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 8323, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 234 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 8252, - "length": 300, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._amount (lib/vault-v2/src/ReaperSwapper.sol#234) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._amount](lib/vault-v2/src/ReaperSwapper.sol#L234) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L234", - "id": "08b84b7756b996f86a47f6056fbae30a072defadc58214f35cfc7d507bbbf801", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_deadline", - "source_mapping": { - "start": 8731, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 247 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline (lib/vault-v2/src/ReaperSwapper.sol#247) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L247) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L247", - "id": "08efa8121ff57e30ff0150c964c8970a993a0edcaca089059974cbfcc6366943", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tokenIn", - "source_mapping": { - "start": 3635, - "length": 16, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 97 - ], - "starting_column": 34, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateUniV2SwapPath", - "source_mapping": { - "start": 3606, - "length": 253, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 97, - 98, - 99, - 100, - 101, - 102, - 103 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateUniV2SwapPath(address,address,address,address[])" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._tokenIn (lib/vault-v2/src/ReaperSwapper.sol#97) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._tokenIn](lib/vault-v2/src/ReaperSwapper.sol#L97) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L97", - "id": "0b27fda3861b3fe8e55b99783814bc1cee3e0c23c1f343feb33c325f4501d68c", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 9149, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 256 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 9098, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._to (lib/vault-v2/src/ReaperSwapper.sol#256) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._to](lib/vault-v2/src/ReaperSwapper.sol#L256) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L256", - "id": "0b4fd12a14dd7d67ae408415c747efa419594368b633030ff52d6c977203874c", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_deadline", - "source_mapping": { - "start": 8097, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 226 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7925, - "length": 321, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._deadline (lib/vault-v2/src/ReaperSwapper.sol#226) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L226) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L226", - "id": "0cdc556021475f0af1abd7fd72e843e33927c369b1e1c0ffaae3798048a0c1ae", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_swapPathAndFees", - "source_mapping": { - "start": 4500, - "length": 37, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 125 - ], - "starting_column": 9, - "ending_column": 46 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateUniV3SwapPath", - "source_mapping": { - "start": 4384, - "length": 297, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateUniV3SwapPath(address,address,address,UniV3SwapData)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._swapPathAndFees (lib/vault-v2/src/ReaperSwapper.sol#125) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._swapPathAndFees](lib/vault-v2/src/ReaperSwapper.sol#L125) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L125", - "id": "0e642fe8b87d792e6c6d36b518053207216f97f0fef498badb6a7874ed3df69a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 9524, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 269 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 9427, - "length": 302, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#269) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L269) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L269", - "id": "10054eaf2fa911a848a5fad5a0dda5b107dcf5deb8cb4f17cbb21eed25bfe193", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 2200, - "length": 60, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "is_dependency": true, - "lines": [ - 59 - ], - "starting_column": 5, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20PermitUpgradeable", - "source_mapping": { - "start": 620, - "length": 1642, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IERC20PermitUpgradeable.DOMAIN_SEPARATOR() (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#59) is not in mixedCase\n", - "markdown": "Function [IERC20PermitUpgradeable.DOMAIN_SEPARATOR()](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L59) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L59", - "id": "125dfc7c7f2b3906a5391a5c33308280a9b2578cf6bba9c9acfe0f81566a4a45", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 6009, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 165 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5958, - "length": 302, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._to (lib/vault-v2/src/ReaperSwapper.sol#165) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._to](lib/vault-v2/src/ReaperSwapper.sol#L165) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L165", - "id": "13386020056a24202ba7c82b9d72db8fadd9fc2dd25e8f0619ad4ee353fa6be8", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tryCatchActive", - "source_mapping": { - "start": 5308, - "length": 20, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 146 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive (lib/vault-v2/src/ReaperSwapper.sol#146) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive](lib/vault-v2/src/ReaperSwapper.sol#L146) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L146", - "id": "1413c8e43afe2c3bb270b1d87658ac7a5460b58ea2c4207eff0b7f20572e3487", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 5657, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 153 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5629, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._from (lib/vault-v2/src/ReaperSwapper.sol#153) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._from](lib/vault-v2/src/ReaperSwapper.sol#L153) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L153", - "id": "167f6e358e928549089ddd67ae14cacf28a7b6b3d2ba49ecde0d95bbdf59a712", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_token", - "source_mapping": { - "start": 4718, - "length": 14, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 131 - ], - "starting_column": 36, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateTokenAggregator", - "source_mapping": { - "start": 4687, - "length": 415, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateTokenAggregator(address,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateTokenAggregator(address,address,uint256)._token (lib/vault-v2/src/ReaperSwapper.sol#131) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateTokenAggregator(address,address,uint256)._token](lib/vault-v2/src/ReaperSwapper.sol#L131) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L131", - "id": "16896e5595b8f444a953b0b29208119da1d296a34ca6563be4c53b709cc64eec", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 5180, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 142 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount (lib/vault-v2/src/ReaperSwapper.sol#142) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount](lib/vault-v2/src/ReaperSwapper.sol#L142) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L142", - "id": "17950f73fc7894890b97248a7fa127919e88cf0d7f1253e8140b803d31fe376d", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 7553, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 212 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._router (lib/vault-v2/src/ReaperSwapper.sol#212) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._router](lib/vault-v2/src/ReaperSwapper.sol#L212) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L212", - "id": "2071ae182e04da551e03610f93d5f1c8cbd402de79ade41335d807e0c8f9ca2d", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 9246, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 259 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 9098, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._router (lib/vault-v2/src/ReaperSwapper.sol#259) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._router](lib/vault-v2/src/ReaperSwapper.sol#L259) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L259", - "id": "21aa1ba8369fb7a559e4c0fc1bf22fe287113c68f962299287db1014485354ae", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__AccessControl_init_unchained", - "source_mapping": { - "start": 2096, - "length": 75, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "is_dependency": true, - "lines": [ - 54, - 55 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AccessControlUpgradeable", - "source_mapping": { - "start": 1893, - "length": 6829, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__AccessControl_init_unchained()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function AccessControlUpgradeable.__AccessControl_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#54-55) is not in mixedCase\n", - "markdown": "Function [AccessControlUpgradeable.__AccessControl_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L54-L55) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L54-L55", - "id": "226e7d5af64c132f41abf0df79c0723e2a9ee53e2961f745732ce61ab1360dbe", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_deadline", - "source_mapping": { - "start": 7578, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 213 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline (lib/vault-v2/src/ReaperSwapper.sol#213) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L213) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L213", - "id": "240474b72d2cdc4bd8b66ec268a242cf52bd88a0bd41e774e65b9f185e61fbbe", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__ERC1967Upgrade_init_unchained", - "source_mapping": { - "start": 821, - "length": 76, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC1967UpgradeUpgradeable", - "source_mapping": { - "start": 661, - "length": 6867, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__ERC1967Upgrade_init_unchained()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#25-26) is not in mixedCase\n", - "markdown": "Function [ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L25-L26) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L25-L26", - "id": "29c5a9e0594a34ab55098292b0786be5a1f49f1e651ab7af2a669ca40aceb7cb", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 7199, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 201 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 7104, - "length": 296, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#201) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L201) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L201", - "id": "2be2dfb84a1a47a1fe2c701f27b43bdd31cbf35e78f89cc8ed3ef46fb5072bca", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 8655, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 245 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#245) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L245) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L245", - "id": "2c2e8431129b1c52325a318d5db8219a891248cfc55c1a5cf2b2920f2c9fa9f8", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tokenOut", - "source_mapping": { - "start": 3653, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 97 - ], - "starting_column": 52, - "ending_column": 69 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateUniV2SwapPath", - "source_mapping": { - "start": 3606, - "length": 253, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 97, - 98, - 99, - 100, - 101, - 102, - 103 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateUniV2SwapPath(address,address,address,address[])" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._tokenOut (lib/vault-v2/src/ReaperSwapper.sol#97) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._tokenOut](lib/vault-v2/src/ReaperSwapper.sol#L97) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L97", - "id": "2c8a8bc61df4a18b388999061d6fa5010feaf9562fd8d62b188e468e456a7153", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "INITIAL_CHAIN_ID", - "source_mapping": { - "start": 1643, - "length": 43, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 41 - ], - "starting_column": 5, - "ending_column": 48 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 474, - "length": 6337, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable ERC20.INITIAL_CHAIN_ID (lib/solmate/src/tokens/ERC20.sol#41) is not in mixedCase\n", - "markdown": "Variable [ERC20.INITIAL_CHAIN_ID](lib/solmate/src/tokens/ERC20.sol#L41) is not in mixedCase\n", - "first_markdown_element": "lib/solmate/src/tokens/ERC20.sol#L41", - "id": "2e819ac97dab8ee9a559c975cd452228b363b633f4622a8c32d0502767b91e40", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 9455, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 266 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 9427, - "length": 302, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._from (lib/vault-v2/src/ReaperSwapper.sol#266) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._from](lib/vault-v2/src/ReaperSwapper.sol#L266) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L266", - "id": "3018788d12fc4b75ffed237e40bf2d933f3f102f422ca4e6f6ec99588852c88a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 6336, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 176 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount (lib/vault-v2/src/ReaperSwapper.sol#176) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount](lib/vault-v2/src/ReaperSwapper.sol#L176) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L176", - "id": "30afd9ece480d36302713f1423a92fdac5775d35d8e9084b6744f69d41cb35e5", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_nextImplementation", - "source_mapping": { - "start": 6725, - "length": 27, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 162 - ], - "starting_column": 38, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "initiateUpgradeCooldown", - "source_mapping": { - "start": 6692, - "length": 185, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 162, - 163, - 164, - 165 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "initiateUpgradeCooldown(address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter OptionsToken.initiateUpgradeCooldown(address)._nextImplementation (src/OptionsToken.sol#162) is not in mixedCase\n", - "markdown": "Parameter [OptionsToken.initiateUpgradeCooldown(address)._nextImplementation](src/OptionsToken.sol#L162) is not in mixedCase\n", - "first_markdown_element": "src/OptionsToken.sol#L162", - "id": "33e53f10ff3f49b18813d9dac0930ba1348d308496c90d9c1a00c0497f5c3cee", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_path", - "source_mapping": { - "start": 3689, - "length": 22, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 97 - ], - "starting_column": 88, - "ending_column": 110 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateUniV2SwapPath", - "source_mapping": { - "start": 3606, - "length": 253, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 97, - 98, - 99, - 100, - 101, - 102, - 103 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateUniV2SwapPath(address,address,address,address[])" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._path (lib/vault-v2/src/ReaperSwapper.sol#97) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateUniV2SwapPath(address,address,address,address[])._path](lib/vault-v2/src/ReaperSwapper.sol#L97) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L97", - "id": "3421d80536152c860bba400d09dfde114340f7d38d4da09d6edfbf1adb890352", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tokenB", - "source_mapping": { - "start": 746, - "length": 15, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 20 - ], - "starting_column": 46, - "ending_column": 61 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "uniV3SwapPaths", - "source_mapping": { - "start": 705, - "length": 214, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "uniV3SwapPaths(address,address,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter UniV3Mixin.uniV3SwapPaths(address,address,address)._tokenB (lib/vault-v2/src/mixins/UniV3Mixin.sol#20) is not in mixedCase\n", - "markdown": "Parameter [UniV3Mixin.uniV3SwapPaths(address,address,address)._tokenB](lib/vault-v2/src/mixins/UniV3Mixin.sol#L20) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L20", - "id": "348fbebd40a224260ed0a3f0410ab794e4cdc194d7609d7c57ecede5098d527e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tryCatchActive", - "source_mapping": { - "start": 8758, - "length": 20, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 248 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive (lib/vault-v2/src/ReaperSwapper.sol#248) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive](lib/vault-v2/src/ReaperSwapper.sol#L248) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L248", - "id": "34c29ba73612384447f21b695bb026ad188d469ca5f98fa472e6aa3a356a605c", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 5159, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 141 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._to (lib/vault-v2/src/ReaperSwapper.sol#141) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._to](lib/vault-v2/src/ReaperSwapper.sol#L141) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L141", - "id": "3527544cbdfbf1bebedc91e97603769f33a1dc4a2222084fe3f4bd86a36f9ae4", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 9478, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 267 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 9427, - "length": 302, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._to (lib/vault-v2/src/ReaperSwapper.sol#267) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._to](lib/vault-v2/src/ReaperSwapper.sol#L267) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L267", - "id": "35548d0c4635a0baa765bad2062c1031d24a1447c98997ef625d4024d4d39032", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 1316, - "length": 25, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "is_dependency": true, - "lines": [ - 36 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ContextUpgradeable", - "source_mapping": { - "start": 651, - "length": 693, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "is_dependency": true, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable ContextUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#36) is not in mixedCase\n", - "markdown": "Variable [ContextUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L36) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L36", - "id": "36b0d7790b5ec0201a99f98a2f3b1afbd4248739c34889d0a9d08876f3462218", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 8021, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 224 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7925, - "length": 321, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#224) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L224) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L224", - "id": "3ec1f062d6f5a182e9f67dda7fd25e897ffe978e3fdbc7561351fbe383d21c95", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 8694, - "length": 25, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "is_dependency": true, - "lines": [ - 259 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AccessControlUpgradeable", - "source_mapping": { - "start": 1893, - "length": 6829, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable AccessControlUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#259) is not in mixedCase\n", - "markdown": "Variable [AccessControlUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L259) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L259", - "id": "408a5a92ce9ee8bac5e964324c5e93c944b47606ce29c3515b4b54a7b28f372d", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 8279, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 232 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 8252, - "length": 300, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._from (lib/vault-v2/src/ReaperSwapper.sol#232) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._from](lib/vault-v2/src/ReaperSwapper.sol#L232) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L232", - "id": "418fec69fa0a926c5aa4783ab996662cd9d15da3993b0c11ddc008e3789bc3f4", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_path", - "source_mapping": { - "start": 4199, - "length": 32, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 113 - ], - "starting_column": 87, - "ending_column": 119 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateVeloSwapPath", - "source_mapping": { - "start": 4117, - "length": 261, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 113, - 114, - 115, - 116, - 117, - 118, - 119 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateVeloSwapPath(address,address,address,IVeloRouter.Route[])" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._path (lib/vault-v2/src/ReaperSwapper.sol#113) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._path](lib/vault-v2/src/ReaperSwapper.sol#L113) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L113", - "id": "42609e99303070d0b460b62a3ec86983b6fd5109aaf634a9026fba1cb7e77c33", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_deadline", - "source_mapping": { - "start": 9271, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 260 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 9098, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._deadline (lib/vault-v2/src/ReaperSwapper.sol#260) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L260) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L260", - "id": "48154271b8c895c6b802a31b0ae8d16001c8ba95b0c1bef15c0adb32c0f98c5f", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 6030, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 166 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5958, - "length": 302, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._amount (lib/vault-v2/src/ReaperSwapper.sol#166) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._amount](lib/vault-v2/src/ReaperSwapper.sol#L166) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L166", - "id": "489c7627531111a361ddb5b0fa876959c0b5c227264305d2efbf558425eaa0c7", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 5327, - "length": 177, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 162, - 163, - 164 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 474, - "length": 6337, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function ERC20.DOMAIN_SEPARATOR() (lib/solmate/src/tokens/ERC20.sol#162-164) is not in mixedCase\n", - "markdown": "Function [ERC20.DOMAIN_SEPARATOR()](lib/solmate/src/tokens/ERC20.sol#L162-L164) is not in mixedCase\n", - "first_markdown_element": "lib/solmate/src/tokens/ERC20.sol#L162-L164", - "id": "49160d2232fd1cf66e40eea2eb550f349c00a0d29cfaf4670e104b4832e0d5b0", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 8399, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 236 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 8252, - "length": 300, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._router (lib/vault-v2/src/ReaperSwapper.sol#236) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._router](lib/vault-v2/src/ReaperSwapper.sol#L236) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L236", - "id": "51317259fb342989bb3002f86d27d0d8d3800e8013b1105278f724a65f97b3b2", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_token", - "source_mapping": { - "start": 12613, - "length": 14, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 333 - ], - "starting_column": 44, - "ending_column": 58 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getChainlinkPriceTargetDigits", - "source_mapping": { - "start": 12574, - "length": 693, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getChainlinkPriceTargetDigits(address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.getChainlinkPriceTargetDigits(address)._token (lib/vault-v2/src/ReaperSwapper.sol#333) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.getChainlinkPriceTargetDigits(address)._token](lib/vault-v2/src/ReaperSwapper.sol#L333) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L333", - "id": "533159ba7d61d5fe5dfd676710c1ac88cf694c7032cc9afc20ed9b723401ae4e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tokenIn", - "source_mapping": { - "start": 4145, - "length": 16, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 113 - ], - "starting_column": 33, - "ending_column": 49 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateVeloSwapPath", - "source_mapping": { - "start": 4117, - "length": 261, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 113, - 114, - 115, - 116, - 117, - 118, - 119 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateVeloSwapPath(address,address,address,IVeloRouter.Route[])" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._tokenIn (lib/vault-v2/src/ReaperSwapper.sol#113) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._tokenIn](lib/vault-v2/src/ReaperSwapper.sol#L113) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L113", - "id": "53551379c42ab3877e8ee97cac181c5347ef7b0683ebe22b81e5bd192559e10c", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 5777, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 157 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5629, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._router (lib/vault-v2/src/ReaperSwapper.sol#157) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._router](lib/vault-v2/src/ReaperSwapper.sol#L157) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L157", - "id": "5480cdf71bb4a1fc4bad960293c816fab6eae1f7b1db72dc13c46eecdff29942", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 8586, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 242 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._from (lib/vault-v2/src/ReaperSwapper.sol#242) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._from](lib/vault-v2/src/ReaperSwapper.sol#L242) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L242", - "id": "54eee96f636dcc23d413ad789f8cc37b37b3ceffbb301fcc7c20ef44f9fa8dd1", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__Ownable_init", - "source_mapping": { - "start": 1003, - "length": 95, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 29, - 30, - 31 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OwnableUpgradeable", - "source_mapping": { - "start": 708, - "length": 2445, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__Ownable_init()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function OwnableUpgradeable.__Ownable_init() (lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#29-31) is not in mixedCase\n", - "markdown": "Function [OwnableUpgradeable.__Ownable_init()](lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L29-L31) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L29-L31", - "id": "564a84db84ff90549701d9e3401970ecd35bb55e38a0ae2758178a34b03f99e8", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountToTriggerSwap", - "source_mapping": { - "start": 6542, - "length": 31, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 179 - ], - "starting_column": 40, - "ending_column": 71 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setMinAmountToTriggerSwap", - "source_mapping": { - "start": 6507, - "length": 152, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 179, - 180, - 181 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setMinAmountToTriggerSwap(uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter DiscountExercise.setMinAmountToTriggerSwap(uint256)._minAmountToTriggerSwap (src/exercise/DiscountExercise.sol#179) is not in mixedCase\n", - "markdown": "Parameter [DiscountExercise.setMinAmountToTriggerSwap(uint256)._minAmountToTriggerSwap](src/exercise/DiscountExercise.sol#L179) is not in mixedCase\n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L179", - "id": "581d9756e46299b9236b584619603c7950d2a6ae937b632b19d6013c10199f9b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "console", - "source_mapping": { - "start": 66, - "length": 66622, - "filename_relative": "lib/forge-std/src/console.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/forge-std/src/console.sol", - "filename_short": "lib/forge-std/src/console.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 505, - 506, - 507, - 508, - 509, - 510, - 511, - 512, - 513, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, - 536, - 537, - 538, - 539, - 540, - 541, - 542, - 543, - 544, - 545, - 546, - 547, - 548, - 549, - 550, - 551, - 552, - 553, - 554, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, - 575, - 576, - 577, - 578, - 579, - 580, - 581, - 582, - 583, - 584, - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, - 606, - 607, - 608, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - 660, - 661, - 662, - 663, - 664, - 665, - 666, - 667, - 668, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682, - 683, - 684, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 699, - 700, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 731, - 732, - 733, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772, - 773, - 774, - 775, - 776, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 795, - 796, - 797, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 827, - 828, - 829, - 830, - 831, - 832, - 833, - 834, - 835, - 836, - 837, - 838, - 839, - 840, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 859, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867, - 868, - 869, - 870, - 871, - 872, - 873, - 874, - 875, - 876, - 877, - 878, - 879, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 923, - 924, - 925, - 926, - 927, - 928, - 929, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 945, - 946, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954, - 955, - 956, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087, - 1088, - 1089, - 1090, - 1091, - 1092, - 1093, - 1094, - 1095, - 1096, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1105, - 1106, - 1107, - 1108, - 1109, - 1110, - 1111, - 1112, - 1113, - 1114, - 1115, - 1116, - 1117, - 1118, - 1119, - 1120, - 1121, - 1122, - 1123, - 1124, - 1125, - 1126, - 1127, - 1128, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1137, - 1138, - 1139, - 1140, - 1141, - 1142, - 1143, - 1144, - 1145, - 1146, - 1147, - 1148, - 1149, - 1150, - 1151, - 1152, - 1153, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1173, - 1174, - 1175, - 1176, - 1177, - 1178, - 1179, - 1180, - 1181, - 1182, - 1183, - 1184, - 1185, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1205, - 1206, - 1207, - 1208, - 1209, - 1210, - 1211, - 1212, - 1213, - 1214, - 1215, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1222, - 1223, - 1224, - 1225, - 1226, - 1227, - 1228, - 1229, - 1230, - 1231, - 1232, - 1233, - 1234, - 1235, - 1236, - 1237, - 1238, - 1239, - 1240, - 1241, - 1242, - 1243, - 1244, - 1245, - 1246, - 1247, - 1248, - 1249, - 1250, - 1251, - 1252, - 1253, - 1254, - 1255, - 1256, - 1257, - 1258, - 1259, - 1260, - 1261, - 1262, - 1263, - 1264, - 1265, - 1266, - 1267, - 1268, - 1269, - 1270, - 1271, - 1272, - 1273, - 1274, - 1275, - 1276, - 1277, - 1278, - 1279, - 1280, - 1281, - 1282, - 1283, - 1284, - 1285, - 1286, - 1287, - 1288, - 1289, - 1290, - 1291, - 1292, - 1293, - 1294, - 1295, - 1296, - 1297, - 1298, - 1299, - 1300, - 1301, - 1302, - 1303, - 1304, - 1305, - 1306, - 1307, - 1308, - 1309, - 1310, - 1311, - 1312, - 1313, - 1314, - 1315, - 1316, - 1317, - 1318, - 1319, - 1320, - 1321, - 1322, - 1323, - 1324, - 1325, - 1326, - 1327, - 1328, - 1329, - 1330, - 1331, - 1332, - 1333, - 1334, - 1335, - 1336, - 1337, - 1338, - 1339, - 1340, - 1341, - 1342, - 1343, - 1344, - 1345, - 1346, - 1347, - 1348, - 1349, - 1350, - 1351, - 1352, - 1353, - 1354, - 1355, - 1356, - 1357, - 1358, - 1359, - 1360, - 1361, - 1362, - 1363, - 1364, - 1365, - 1366, - 1367, - 1368, - 1369, - 1370, - 1371, - 1372, - 1373, - 1374, - 1375, - 1376, - 1377, - 1378, - 1379, - 1380, - 1381, - 1382, - 1383, - 1384, - 1385, - 1386, - 1387, - 1388, - 1389, - 1390, - 1391, - 1392, - 1393, - 1394, - 1395, - 1396, - 1397, - 1398, - 1399, - 1400, - 1401, - 1402, - 1403, - 1404, - 1405, - 1406, - 1407, - 1408, - 1409, - 1410, - 1411, - 1412, - 1413, - 1414, - 1415, - 1416, - 1417, - 1418, - 1419, - 1420, - 1421, - 1422, - 1423, - 1424, - 1425, - 1426, - 1427, - 1428, - 1429, - 1430, - 1431, - 1432, - 1433, - 1434, - 1435, - 1436, - 1437, - 1438, - 1439, - 1440, - 1441, - 1442, - 1443, - 1444, - 1445, - 1446, - 1447, - 1448, - 1449, - 1450, - 1451, - 1452, - 1453, - 1454, - 1455, - 1456, - 1457, - 1458, - 1459, - 1460, - 1461, - 1462, - 1463, - 1464, - 1465, - 1466, - 1467, - 1468, - 1469, - 1470, - 1471, - 1472, - 1473, - 1474, - 1475, - 1476, - 1477, - 1478, - 1479, - 1480, - 1481, - 1482, - 1483, - 1484, - 1485, - 1486, - 1487, - 1488, - 1489, - 1490, - 1491, - 1492, - 1493, - 1494, - 1495, - 1496, - 1497, - 1498, - 1499, - 1500, - 1501, - 1502, - 1503, - 1504, - 1505, - 1506, - 1507, - 1508, - 1509, - 1510, - 1511, - 1512, - 1513, - 1514, - 1515, - 1516, - 1517, - 1518, - 1519, - 1520, - 1521, - 1522, - 1523, - 1524, - 1525, - 1526, - 1527, - 1528, - 1529, - 1530, - 1531, - 1532, - 1533, - 1534 - ], - "starting_column": 1, - "ending_column": 0 - }, - "additional_fields": { - "target": "contract", - "convention": "CapWords" - } - } - ], - "description": "Contract console (lib/forge-std/src/console.sol#4-1534) is not in CapWords\n", - "markdown": "Contract [console](lib/forge-std/src/console.sol#L4-L1534) is not in CapWords\n", - "first_markdown_element": "lib/forge-std/src/console.sol#L4-L1534", - "id": "58c9dacc35a1219332b8b6ce561daac5384e938b9878894ede5d6cbaa444d455", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_feeRecipients", - "source_mapping": { - "start": 2183, - "length": 31, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 57 - ], - "starting_column": 22, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setFees", - "source_mapping": { - "start": 2166, - "length": 145, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setFees(address[],uint256[])" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter BaseExercise.setFees(address[],uint256[])._feeRecipients (src/exercise/BaseExercise.sol#57) is not in mixedCase\n", - "markdown": "Parameter [BaseExercise.setFees(address[],uint256[])._feeRecipients](src/exercise/BaseExercise.sol#L57) is not in mixedCase\n", - "first_markdown_element": "src/exercise/BaseExercise.sol#L57", - "id": "5944f924de77c988f31b403664373f2876aff03596234cc58b4afadd8a71d5a9", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_deadline", - "source_mapping": { - "start": 5802, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 158 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5629, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._deadline (lib/vault-v2/src/ReaperSwapper.sol#158) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L158) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L158", - "id": "6071c207bea25fb7f9bb412b5de02629482e66a2117c5fa91626351e29e9b02e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 7952, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 221 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7925, - "length": 321, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._from (lib/vault-v2/src/ReaperSwapper.sol#221) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._from](lib/vault-v2/src/ReaperSwapper.sol#L221) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L221", - "id": "623f5d19356fa7b9bd0ab5df0402fd1e4d7c09639f95e63a0a4209cc8cc8bdfd", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 3125, - "length": 25, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 94 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OwnableUpgradeable", - "source_mapping": { - "start": 708, - "length": 2445, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable OwnableUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#94) is not in mixedCase\n", - "markdown": "Variable [OwnableUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L94) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L94", - "id": "64595b3b974ce422ded6f4c3e75f4b8f263d80fe654b483274d85ea78d93515d", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 4729, - "length": 25, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "is_dependency": true, - "lines": [ - 107 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UUPSUpgradeable", - "source_mapping": { - "start": 928, - "length": 3829, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable UUPSUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#107) is not in mixedCase\n", - "markdown": "Variable [UUPSUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L107) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L107", - "id": "66e89635b3f1a39420c14852bce53cece9d715d261ed362fdfe323326d902681", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "struct", - "name": "Params__swapUniV3", - "source_mapping": { - "start": 925, - "length": 207, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "structure", - "convention": "CapWords" - } - } - ], - "description": "Struct UniV3Mixin.Params__swapUniV3 (lib/vault-v2/src/mixins/UniV3Mixin.sol#28-36) is not in CapWords\n", - "markdown": "Struct [UniV3Mixin.Params__swapUniV3](lib/vault-v2/src/mixins/UniV3Mixin.sol#L28-L36) is not in CapWords\n", - "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L28-L36", - "id": "686ea0a248be2f332d477f476112aafd31063649571e7caedc18a1f64cf140f3", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 4475, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 124 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateUniV3SwapPath", - "source_mapping": { - "start": 4384, - "length": 297, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateUniV3SwapPath(address,address,address,UniV3SwapData)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._router (lib/vault-v2/src/ReaperSwapper.sol#124) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._router](lib/vault-v2/src/ReaperSwapper.sol#L124) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L124", - "id": "6afae1f9d7e55e6076a51917ac9f65e8dead79697dd34ab763dc91b9bcb86e89", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tokenIn", - "source_mapping": { - "start": 4422, - "length": 16, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 122 - ], - "starting_column": 9, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateUniV3SwapPath", - "source_mapping": { - "start": 4384, - "length": 297, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateUniV3SwapPath(address,address,address,UniV3SwapData)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._tokenIn (lib/vault-v2/src/ReaperSwapper.sol#122) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._tokenIn](lib/vault-v2/src/ReaperSwapper.sol#L122) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L122", - "id": "72977cf6ba4408d54c36fec2d76a45624faa51193a45d346cfd1f506c3276687", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__ERC20_init_unchained", - "source_mapping": { - "start": 2267, - "length": 159, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 59, - 60, - 61, - 62 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20Upgradeable", - "source_mapping": { - "start": 1480, - "length": 12159, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__ERC20_init_unchained(string,string)" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function ERC20Upgradeable.__ERC20_init_unchained(string,string) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#59-62) is not in mixedCase\n", - "markdown": "Function [ERC20Upgradeable.__ERC20_init_unchained(string,string)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L59-L62) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L59-L62", - "id": "74c629176a16cccc0c00bada69b465bc625751ea0b6a6c34a6948576e5a63d53", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 6876, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 190 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6781, - "length": 317, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#190) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L190) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L190", - "id": "7966fe16a7fae3142addfdb2c5631dc7af108f9a0556e7e6e462bc93b4b0fd6a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 7500, - "length": 25, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 197 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC1967UpgradeUpgradeable", - "source_mapping": { - "start": 661, - "length": 6867, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable ERC1967UpgradeUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#197) is not in mixedCase\n", - "markdown": "Variable [ERC1967UpgradeUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L197) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L197", - "id": "7a925ee243c35fcbf7d26a13c9439f5f52653d41557544bf25a6dea8e1255a36", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 5680, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 154 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5629, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._to (lib/vault-v2/src/ReaperSwapper.sol#154) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._to](lib/vault-v2/src/ReaperSwapper.sol#L154) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L154", - "id": "7dd841bf64cae734263aa2ece5e257856fff5689200d9da336af8f149bc065d5", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 763, - "length": 15, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 20 - ], - "starting_column": 63, - "ending_column": 78 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "uniV3SwapPaths", - "source_mapping": { - "start": 705, - "length": 214, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "uniV3SwapPaths(address,address,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter UniV3Mixin.uniV3SwapPaths(address,address,address)._router (lib/vault-v2/src/mixins/UniV3Mixin.sol#20) is not in mixedCase\n", - "markdown": "Parameter [UniV3Mixin.uniV3SwapPaths(address,address,address)._router](lib/vault-v2/src/mixins/UniV3Mixin.sol#L20) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L20", - "id": "81b3767aefa146b755f320923f96e311ac717b193aade9ea9209fda84ec19507", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__ERC20_init", - "source_mapping": { - "start": 2114, - "length": 147, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 55, - 56, - 57 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20Upgradeable", - "source_mapping": { - "start": 1480, - "length": 12159, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__ERC20_init(string,string)" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function ERC20Upgradeable.__ERC20_init(string,string) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#55-57) is not in mixedCase\n", - "markdown": "Function [ERC20Upgradeable.__ERC20_init(string,string)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L55-L57) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L55-L57", - "id": "8238dcf62f913fda66edd22ee2b08e732cfae65517418f334b31b357d5fb02c5", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 7996, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 223 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7925, - "length": 321, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._amount (lib/vault-v2/src/ReaperSwapper.sol#223) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._amount](lib/vault-v2/src/ReaperSwapper.sol#L223) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L223", - "id": "831ee570df860b35fb7432639868412b8f3a89a1e163b5e0301268d3d015656e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_aggregator", - "source_mapping": { - "start": 4734, - "length": 19, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 131 - ], - "starting_column": 52, - "ending_column": 71 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateTokenAggregator", - "source_mapping": { - "start": 4687, - "length": 415, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateTokenAggregator(address,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateTokenAggregator(address,address,uint256)._aggregator (lib/vault-v2/src/ReaperSwapper.sol#131) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateTokenAggregator(address,address,uint256)._aggregator](lib/vault-v2/src/ReaperSwapper.sol#L131) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L131", - "id": "840fd0afa4bae92ba91f2c94e5ff241d7edf4411fba4ca97efa57208909748a1", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__ERC165_init_unchained", - "source_mapping": { - "start": 926, - "length": 68, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "is_dependency": true, - "lines": [ - 27, - 28 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC165Upgradeable", - "source_mapping": { - "start": 783, - "length": 736, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "is_dependency": true, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__ERC165_init_unchained()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function ERC165Upgradeable.__ERC165_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#27-28) is not in mixedCase\n", - "markdown": "Function [ERC165Upgradeable.__ERC165_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L27-L28) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L27-L28", - "id": "85d4e6d503145e70d4f27b51c03c2aecc7efa120329a4cf27b34d33cd9a2c942", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__Context_init_unchained", - "source_mapping": { - "start": 776, - "length": 69, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "is_dependency": true, - "lines": [ - 21, - 22 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ContextUpgradeable", - "source_mapping": { - "start": 651, - "length": 693, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "is_dependency": true, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__Context_init_unchained()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function ContextUpgradeable.__Context_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#21-22) is not in mixedCase\n", - "markdown": "Function [ContextUpgradeable.__Context_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L21-L22) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L21-L22", - "id": "8629c89abc9e568d22212182eb038287fc4f676ff34add41294173d644b25bcb", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_deadline", - "source_mapping": { - "start": 5281, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 145 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline (lib/vault-v2/src/ReaperSwapper.sol#145) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L145) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L145", - "id": "878d7b0eca406e6625010c6a919e75fb6d1f56a2908909128dca18ae1aaecf5c", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_swapProps", - "source_mapping": { - "start": 1131, - "length": 27, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 43 - ], - "starting_column": 30, - "ending_column": 57 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "configSwapProps", - "source_mapping": { - "start": 1106, - "length": 116, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 43, - 44, - 45 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SwapHelper", - "source_mapping": { - "start": 514, - "length": 3269, - "filename_relative": "src/helpers/SwapHelper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/helpers/SwapHelper.sol", - "filename_short": "src/helpers/SwapHelper.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "configSwapProps(SwapProps)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter SwapHelper.configSwapProps(SwapProps)._swapProps (src/helpers/SwapHelper.sol#43) is not in mixedCase\n", - "markdown": "Parameter [SwapHelper.configSwapProps(SwapProps)._swapProps](src/helpers/SwapHelper.sol#L43) is not in mixedCase\n", - "first_markdown_element": "src/helpers/SwapHelper.sol#L43", - "id": "898750aa30b4631541b715c67809ca54c02372e4e0ccd20753b470f5b41b4782", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_poolID", - "source_mapping": { - "start": 3947, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 105 - ], - "starting_column": 87, - "ending_column": 102 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateBalSwapPoolID", - "source_mapping": { - "start": 3865, - "length": 246, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateBalSwapPoolID(address,address,address,bytes32)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._poolID (lib/vault-v2/src/ReaperSwapper.sol#105) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._poolID](lib/vault-v2/src/ReaperSwapper.sol#L105) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L105", - "id": "89a0bb2c6892a624dc788cb6e8e64769ea25541c09632a7ea8008ed5bdc9a7ae", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 5136, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 140 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._from (lib/vault-v2/src/ReaperSwapper.sol#140) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._from](lib/vault-v2/src/ReaperSwapper.sol#L140) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L140", - "id": "8b2e8470f4f721b3150a1c59a12f20d495a62229f08f57ad6a1241fb1e3e63bc", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_vault", - "source_mapping": { - "start": 3931, - "length": 14, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 105 - ], - "starting_column": 71, - "ending_column": 85 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateBalSwapPoolID", - "source_mapping": { - "start": 3865, - "length": 246, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateBalSwapPoolID(address,address,address,bytes32)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._vault (lib/vault-v2/src/ReaperSwapper.sol#105) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._vault](lib/vault-v2/src/ReaperSwapper.sol#L105) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L105", - "id": "8f302417a05d05dface61ffead3912df0c2e77cae9168156e4852a782f626cc8", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__UUPSUpgradeable_init_unchained", - "source_mapping": { - "start": 1115, - "length": 77, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "is_dependency": true, - "lines": [ - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UUPSUpgradeable", - "source_mapping": { - "start": 928, - "length": 3829, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__UUPSUpgradeable_init_unchained()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function UUPSUpgradeable.__UUPSUpgradeable_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#26-27) is not in mixedCase\n", - "markdown": "Function [UUPSUpgradeable.__UUPSUpgradeable_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L26-L27) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L26-L27", - "id": "8ff7b5e08e6880768da974c4a296eba4ffa484881ed81786ba37c7da4749321d", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 13611, - "length": 25, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 400 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20Upgradeable", - "source_mapping": { - "start": 1480, - "length": 12159, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable ERC20Upgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#400) is not in mixedCase\n", - "markdown": "Variable [ERC20Upgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L400) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L400", - "id": "95b4f7519d8168eaf429605544f5939d63826ecdfb9fab9329b6802cbd21db77", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 5986, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 164 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5958, - "length": 302, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._from (lib/vault-v2/src/ReaperSwapper.sol#164) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._from](lib/vault-v2/src/ReaperSwapper.sol#L164) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L164", - "id": "965c50bc3502579539b688717ecbda0b6b92a00dcefa592b05ba22d7d6f5dc7a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 7174, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 200 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 7104, - "length": 296, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._amount (lib/vault-v2/src/ReaperSwapper.sol#200) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._amount](lib/vault-v2/src/ReaperSwapper.sol#L200) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L200", - "id": "96acd18fdb2f87cce682dd1aeb785807b87ade0805721541764b40e73f657d86", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 9575, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 270 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 9427, - "length": 302, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._router (lib/vault-v2/src/ReaperSwapper.sol#270) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._router](lib/vault-v2/src/ReaperSwapper.sol#L270) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L270", - "id": "97ed856a66a6a89065949ce6d4ad5806ed079684926be9350c3dba02a3a1e5ff", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "DOMAIN_SEPARATOR", - "source_mapping": { - "start": 2189, - "length": 60, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "is_dependency": true, - "lines": [ - 59 - ], - "starting_column": 5, - "ending_column": 65 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC20Permit", - "source_mapping": { - "start": 620, - "length": 1631, - "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "DOMAIN_SEPARATOR()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IERC20Permit.DOMAIN_SEPARATOR() (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#59) is not in mixedCase\n", - "markdown": "Function [IERC20Permit.DOMAIN_SEPARATOR()](lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L59) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L59", - "id": "9a77c79a6cf40e2f151723e49ba63d30100a56d0f72688e58cdf4a550a6ff843", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_guardian", - "source_mapping": { - "start": 3089, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 82 - ], - "starting_column": 56, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 3038, - "length": 562, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "initialize(address[],address,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.initialize(address[],address,address)._guardian (lib/vault-v2/src/ReaperSwapper.sol#82) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.initialize(address[],address,address)._guardian](lib/vault-v2/src/ReaperSwapper.sol#L82) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L82", - "id": "9efc132e350756a6688fb06dfbdfdae938d3f187fef09bcfb67ada2c12c55401", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 4182, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 113 - ], - "starting_column": 70, - "ending_column": 85 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateVeloSwapPath", - "source_mapping": { - "start": 4117, - "length": 261, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 113, - 114, - 115, - 116, - 117, - 118, - 119 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateVeloSwapPath(address,address,address,IVeloRouter.Route[])" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._router (lib/vault-v2/src/ReaperSwapper.sol#113) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._router](lib/vault-v2/src/ReaperSwapper.sol#L113) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L113", - "id": "a06f43ce8e70ce834616ed15245c980a2b8ec50e858262bb670d47c66306e2ea", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__AccessControl_init", - "source_mapping": { - "start": 2025, - "length": 65, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "is_dependency": true, - "lines": [ - 51, - 52 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AccessControlUpgradeable", - "source_mapping": { - "start": 1893, - "length": 6829, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__AccessControl_init()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function AccessControlUpgradeable.__AccessControl_init() (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#51-52) is not in mixedCase\n", - "markdown": "Function [AccessControlUpgradeable.__AccessControl_init()](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L51-L52) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#L51-L52", - "id": "a333fa38b5f96027543bfa2131aac6765059644ab6c7dae2f8d357b5fbaa2f2b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 6807, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 187 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6781, - "length": 317, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._from (lib/vault-v2/src/ReaperSwapper.sol#187) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._from](lib/vault-v2/src/ReaperSwapper.sol#L187) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L187", - "id": "a7cafc58416d57ab9a4fcb99a3a7f30607a640b40bcf1d16a52915f7849094bc", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 6315, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 175 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._to (lib/vault-v2/src/ReaperSwapper.sol#175) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._to](lib/vault-v2/src/ReaperSwapper.sol#L175) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L175", - "id": "ab2600b9834d875833f35b5332d32ef81c0bb2ac24c935e3830ff416c17fb322", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_isExercise", - "source_mapping": { - "start": 5123, - "length": 16, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 119 - ], - "starting_column": 52, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setExerciseContract", - "source_mapping": { - "start": 5076, - "length": 200, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 119, - 120, - 121, - 122 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setExerciseContract(address,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter OptionsToken.setExerciseContract(address,bool)._isExercise (src/OptionsToken.sol#119) is not in mixedCase\n", - "markdown": "Parameter [OptionsToken.setExerciseContract(address,bool)._isExercise](src/OptionsToken.sol#L119) is not in mixedCase\n", - "first_markdown_element": "src/OptionsToken.sol#L119", - "id": "abd2279ff0a0f0ddae64db4fff77259f7bae0530f6d0414a9c41d6ac351ae4c7", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_timeout", - "source_mapping": { - "start": 4755, - "length": 16, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 131 - ], - "starting_column": 73, - "ending_column": 89 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateTokenAggregator", - "source_mapping": { - "start": 4687, - "length": 415, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 131, - 132, - 133, - 134, - 135, - 136, - 137 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateTokenAggregator(address,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateTokenAggregator(address,address,uint256)._timeout (lib/vault-v2/src/ReaperSwapper.sol#131) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateTokenAggregator(address,address,uint256)._timeout](lib/vault-v2/src/ReaperSwapper.sol#L131) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L131", - "id": "adab57ba054783590c54847af448ea7811b9803f2da1801c367d97d4deb0bc85", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "INITIAL_DOMAIN_SEPARATOR", - "source_mapping": { - "start": 1693, - "length": 51, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 43 - ], - "starting_column": 5, - "ending_column": 56 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC20", - "source_mapping": { - "start": 474, - "length": 6337, - "filename_relative": "lib/solmate/src/tokens/ERC20.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/tokens/ERC20.sol", - "filename_short": "lib/solmate/src/tokens/ERC20.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable ERC20.INITIAL_DOMAIN_SEPARATOR (lib/solmate/src/tokens/ERC20.sol#43) is not in mixedCase\n", - "markdown": "Variable [ERC20.INITIAL_DOMAIN_SEPARATOR](lib/solmate/src/tokens/ERC20.sol#L43) is not in mixedCase\n", - "first_markdown_element": "lib/solmate/src/tokens/ERC20.sol#L43", - "id": "ae4180282f395232843a4e6b84163b4ee953cbbcb818ea7075ed05f2dcf646c6", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 5701, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 155 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5629, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._amount (lib/vault-v2/src/ReaperSwapper.sol#155) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._amount](lib/vault-v2/src/ReaperSwapper.sol#L155) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L155", - "id": "af59693c738df45d04682c8e690c3cb70b1f7ae4cd02b04ef88723c8512974ff", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 7502, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 211 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#211) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L211) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L211", - "id": "b0d802f1835a6a50141a3c3cad24ceedce32ed7aafecd16fb3799ad01e781111", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 9126, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 255 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 9098, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._from (lib/vault-v2/src/ReaperSwapper.sol#255) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._from](lib/vault-v2/src/ReaperSwapper.sol#L255) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L255", - "id": "b466af7b150b5c595dbea4172eb5b58058eac1319629786026c6c34991a529b8", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tokenA", - "source_mapping": { - "start": 729, - "length": 15, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 20 - ], - "starting_column": 29, - "ending_column": 44 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "uniV3SwapPaths", - "source_mapping": { - "start": 705, - "length": 214, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniV3Mixin", - "source_mapping": { - "start": 269, - "length": 4771, - "filename_relative": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/mixins/UniV3Mixin.sol", - "filename_short": "lib/vault-v2/src/mixins/UniV3Mixin.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "uniV3SwapPaths(address,address,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter UniV3Mixin.uniV3SwapPaths(address,address,address)._tokenA (lib/vault-v2/src/mixins/UniV3Mixin.sol#20) is not in mixedCase\n", - "markdown": "Parameter [UniV3Mixin.uniV3SwapPaths(address,address,address)._tokenA](lib/vault-v2/src/mixins/UniV3Mixin.sol#L20) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/mixins/UniV3Mixin.sol#L20", - "id": "b516ba65e9d50df8c481a3d485f057d04276e12596a303c1c3b03bcedea2fa4a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 7153, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 199 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 7104, - "length": 296, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._to (lib/vault-v2/src/ReaperSwapper.sol#199) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._to](lib/vault-v2/src/ReaperSwapper.sol#L199) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L199", - "id": "b6c8ae681b26b155c022f33fbf1b061e5f28765aae067bd89844326397fc87a2", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 3008, - "length": 25, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 76 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AccessControlEnumerableUpgradeable", - "source_mapping": { - "start": 431, - "length": 2605, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable AccessControlEnumerableUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#76) is not in mixedCase\n", - "markdown": "Variable [AccessControlEnumerableUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L76) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L76", - "id": "bbb16c0dd495dfcbe2efc75d79bdea18fad2424d763b5456917a4f9ba68e140c", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__gap", - "source_mapping": { - "start": 1491, - "length": 25, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "is_dependency": true, - "lines": [ - 41 - ], - "starting_column": 5, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC165Upgradeable", - "source_mapping": { - "start": 783, - "length": 736, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "is_dependency": true, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable ERC165Upgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#41) is not in mixedCase\n", - "markdown": "Variable [ERC165Upgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L41) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L41", - "id": "bdc2d8e808ddb749222cd3ed859af1782e2e982c72c8164d541233f50dec05af", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__Ownable_init_unchained", - "source_mapping": { - "start": 1104, - "length": 111, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 33, - 34, - 35 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OwnableUpgradeable", - "source_mapping": { - "start": 708, - "length": 2445, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__Ownable_init_unchained()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function OwnableUpgradeable.__Ownable_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#33-35) is not in mixedCase\n", - "markdown": "Function [OwnableUpgradeable.__Ownable_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L33-L35) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol#L33-L35", - "id": "be1436ad6e7661ea17048b9b8432553bbd982a53256f0d44f0dddb582fee6a05", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_deadline", - "source_mapping": { - "start": 6436, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 179 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline (lib/vault-v2/src/ReaperSwapper.sol#179) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L179) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L179", - "id": "be279e16a979449d615e01c5f1b9240a112c2c4181f5d3ab033a2b58fa8bb14f", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 7456, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 209 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._to (lib/vault-v2/src/ReaperSwapper.sol#209) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._to](lib/vault-v2/src/ReaperSwapper.sol#L209) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L209", - "id": "bfd676c8349dabb5b01a6c154d45b647f52d93cc00f979b6c8878784a7b7eb77", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "__self", - "source_mapping": { - "start": 1289, - "length": 48, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "is_dependency": true, - "lines": [ - 29 - ], - "starting_column": 5, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UUPSUpgradeable", - "source_mapping": { - "start": 928, - "length": 3829, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable UUPSUpgradeable.__self (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#29) is not in mixedCase\n", - "markdown": "Variable [UUPSUpgradeable.__self](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L29) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L29", - "id": "bfe49cc9b28397f73932ef963ff532a1f0ce51ddd0b26dae025d661602049864", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 9499, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 268 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 9427, - "length": 302, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._amount (lib/vault-v2/src/ReaperSwapper.sol#268) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address)._amount](lib/vault-v2/src/ReaperSwapper.sol#L268) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L268", - "id": "c189e395c786c3b0719350511e8880bfffe15db6eea553df77bff74bf366946e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__ERC1967Upgrade_init", - "source_mapping": { - "start": 749, - "length": 66, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC1967UpgradeUpgradeable", - "source_mapping": { - "start": 661, - "length": 6867, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__ERC1967Upgrade_init()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init() (lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#22-23) is not in mixedCase\n", - "markdown": "Function [ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init()](lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L22-L23) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#L22-L23", - "id": "c342a80969d569f908a2cc5e14462dacdf5979e90597c95494a7518ab22ac361", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 7477, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 210 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount (lib/vault-v2/src/ReaperSwapper.sol#210) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount](lib/vault-v2/src/ReaperSwapper.sol#L210) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L210", - "id": "c36595904f67f151274482257e034c6d4e99f7a12addf42daff19757016f42ae", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__AccessControlEnumerable_init_unchained", - "source_mapping": { - "start": 651, - "length": 85, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AccessControlEnumerableUpgradeable", - "source_mapping": { - "start": 431, - "length": 2605, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__AccessControlEnumerable_init_unchained()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function AccessControlEnumerableUpgradeable.__AccessControlEnumerable_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#18-19) is not in mixedCase\n", - "markdown": "Function [AccessControlEnumerableUpgradeable.__AccessControlEnumerable_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L18-L19) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L18-L19", - "id": "c5433a1d1949676dc711bcf3160f2439533f345ad44396e69fa216e8565cad1e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_feeBPS", - "source_mapping": { - "start": 2216, - "length": 24, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 57 - ], - "starting_column": 55, - "ending_column": 79 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setFees", - "source_mapping": { - "start": 2166, - "length": 145, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "BaseExercise", - "source_mapping": { - "start": 432, - "length": 3936, - "filename_relative": "src/exercise/BaseExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/BaseExercise.sol", - "filename_short": "src/exercise/BaseExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setFees(address[],uint256[])" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter BaseExercise.setFees(address[],uint256[])._feeBPS (src/exercise/BaseExercise.sol#57) is not in mixedCase\n", - "markdown": "Parameter [BaseExercise.setFees(address[],uint256[])._feeBPS](src/exercise/BaseExercise.sol#L57) is not in mixedCase\n", - "first_markdown_element": "src/exercise/BaseExercise.sol#L57", - "id": "c5acfac490821733b96f3b7cb66bd64210e4d6f82651bab766aab5209e8c5324", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "UNSAFE_swapExactTokensForTokens", - "source_mapping": { - "start": 12674, - "length": 196, - "filename_relative": "lib/vault-v2/src/interfaces/IVeloRouter.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloRouter.sol", - "filename_short": "lib/vault-v2/src/interfaces/IVeloRouter.sol", - "is_dependency": true, - "lines": [ - 294, - 295, - 296, - 297, - 298, - 299 - ], - "starting_column": 5, - "ending_column": 43 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IVeloRouter", - "source_mapping": { - "start": 227, - "length": 20282, - "filename_relative": "lib/vault-v2/src/interfaces/IVeloRouter.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IVeloRouter.sol", - "filename_short": "lib/vault-v2/src/interfaces/IVeloRouter.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "UNSAFE_swapExactTokensForTokens(uint256[],IVeloRouter.Route[],address,uint256)" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IVeloRouter.UNSAFE_swapExactTokensForTokens(uint256[],IVeloRouter.Route[],address,uint256) (lib/vault-v2/src/interfaces/IVeloRouter.sol#294-299) is not in mixedCase\n", - "markdown": "Function [IVeloRouter.UNSAFE_swapExactTokensForTokens(uint256[],IVeloRouter.Route[],address,uint256)](lib/vault-v2/src/interfaces/IVeloRouter.sol#L294-L299) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/interfaces/IVeloRouter.sol#L294-L299", - "id": "c84ed24d6caec5fb3fc2d28fc3e2c44242050d098a6626fd7b69c847d5d534a6", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 7433, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 208 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._from (lib/vault-v2/src/ReaperSwapper.sol#208) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._from](lib/vault-v2/src/ReaperSwapper.sol#L208) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L208", - "id": "ca06b4f3961de5f5ca9c9c964e4b25c5f6fb7d6cf7cc27fe3001bbb89c74675f", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__UUPSUpgradeable_init", - "source_mapping": { - "start": 1042, - "length": 67, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "is_dependency": true, - "lines": [ - 23, - 24 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UUPSUpgradeable", - "source_mapping": { - "start": 928, - "length": 3829, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__UUPSUpgradeable_init()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function UUPSUpgradeable.__UUPSUpgradeable_init() (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#23-24) is not in mixedCase\n", - "markdown": "Function [UUPSUpgradeable.__UUPSUpgradeable_init()](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L23-L24) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol#L23-L24", - "id": "cb76c4a025b81b1d34120a39f72a25e8426de1c2f55fbd29d6a5eb8442335219", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 8302, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 233 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 8252, - "length": 300, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._to (lib/vault-v2/src/ReaperSwapper.sol#233) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._to](lib/vault-v2/src/ReaperSwapper.sol#L233) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L233", - "id": "cc2c2d13c5fc96bbb8c8f183cd598ce40909b38213e3148d1f4410feedcdfbf9", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_i", - "source_mapping": { - "start": 302, - "length": 10, - "filename_relative": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "filename_short": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "is_dependency": true, - "lines": [ - 11 - ], - "starting_column": 27, - "ending_column": 37 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "uncheckedInc", - "source_mapping": { - "start": 280, - "length": 130, - "filename_relative": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "filename_short": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "is_dependency": true, - "lines": [ - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperMathUtils", - "source_mapping": { - "start": 63, - "length": 349, - "filename_relative": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "filename_short": "lib/vault-v2/src/libraries/ReaperMathUtils.sol", - "is_dependency": true, - "lines": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "uncheckedInc(uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperMathUtils.uncheckedInc(uint256)._i (lib/vault-v2/src/libraries/ReaperMathUtils.sol#11) is not in mixedCase\n", - "markdown": "Parameter [ReaperMathUtils.uncheckedInc(uint256)._i](lib/vault-v2/src/libraries/ReaperMathUtils.sol#L11) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/libraries/ReaperMathUtils.sol#L11", - "id": "cd8dd23a87dae4ac1b0ac22762f0d6ca9a11107161eb11ecc8559a52962999da", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 6830, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 188 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6781, - "length": 317, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._to (lib/vault-v2/src/ReaperSwapper.sol#188) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._to](lib/vault-v2/src/ReaperSwapper.sol#L188) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L188", - "id": "ce9e771782f69e8d3da763e8d0e5d55510b3673e5af35d5030cd3e1f607f698e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_deadline", - "source_mapping": { - "start": 6951, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 192 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6781, - "length": 317, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._deadline (lib/vault-v2/src/ReaperSwapper.sol#192) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._deadline](lib/vault-v2/src/ReaperSwapper.sol#L192) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L192", - "id": "d096162e89d285c6f6eacc550d68dd7057cd03ed9fdd2fbee53da1dacff60853", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 8348, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 235 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 8252, - "length": 300, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#235) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L235) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L235", - "id": "d400a010cfc54a36c2bbabf0d7fedd1ab9a7387ba1f4017fe16eac3e6d19092e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_vault", - "source_mapping": { - "start": 7250, - "length": 14, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 202 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 7104, - "length": 296, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._vault (lib/vault-v2/src/ReaperSwapper.sol#202) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._vault](lib/vault-v2/src/ReaperSwapper.sol#L202) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L202", - "id": "d4fceacb95f86ee83b4bf85da0582077c266098f97e1ce7dbaec2b59cdcef204", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "WETH", - "source_mapping": { - "start": 153, - "length": 48, - "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "is_dependency": true, - "lines": [ - 7 - ], - "starting_column": 5, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IUniswapV2Router01", - "source_mapping": { - "start": 61, - "length": 3950, - "filename_relative": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "filename_short": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "WETH()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IUniswapV2Router01.WETH() (lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#7) is not in mixedCase\n", - "markdown": "Function [IUniswapV2Router01.WETH()](lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#L7) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/interfaces/IUniswapV2Router01.sol#L7", - "id": "d51441d319d7710ff998d12e83899a9d644921d950f639a7b86fcc4ddf61e63a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 8706, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 246 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._router (lib/vault-v2/src/ReaperSwapper.sol#246) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._router](lib/vault-v2/src/ReaperSwapper.sol#L246) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L246", - "id": "d6dabfed2329ec05b9b11ef9c0aa939f5f9548e1243ac69e7908749887d95f3b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 5726, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 156 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5629, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#156) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L156) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L156", - "id": "dcc6a654dccf15314a4bd6d18240796b3d5a90ad0965512db30fb29fc2d69f4f", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 6055, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 167 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5958, - "length": 302, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#167) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L167) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L167", - "id": "deeadcde9d8d2a903c85c3e2c9ba0e8b3609ceddae1916e3766e5c84b22c466a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 5205, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 143 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5108, - "length": 515, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#143) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L143) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L143", - "id": "e10ef44a86a407b93bfe33cf20782ef285fd9eb4af3c33bc2e14261b516c0038", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_superAdmin", - "source_mapping": { - "start": 3108, - "length": 19, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 82 - ], - "starting_column": 75, - "ending_column": 94 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 3038, - "length": 562, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "initialize(address[],address,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.initialize(address[],address,address)._superAdmin (lib/vault-v2/src/ReaperSwapper.sol#82) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.initialize(address[],address,address)._superAdmin](lib/vault-v2/src/ReaperSwapper.sol#L82) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L82", - "id": "e1f9cb8188c7d2a47d6d3f5f2abd12779ea61cb7f5df57014d8b381dd18519f4", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 9170, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 257 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 9098, - "length": 323, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._amount (lib/vault-v2/src/ReaperSwapper.sol#257) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256)._amount](lib/vault-v2/src/ReaperSwapper.sol#L257) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L257", - "id": "e372392e376217b031464798d9d6768c25b19113dd6cb6674fa902715063982f", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 6292, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 174 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._from (lib/vault-v2/src/ReaperSwapper.sol#174) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._from](lib/vault-v2/src/ReaperSwapper.sol#L174) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L174", - "id": "e41b000f65857a61219c2dc0b5d0f4bd15cf77d9dc70e29235aac4739efc28ee", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_address", - "source_mapping": { - "start": 5105, - "length": 16, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 119 - ], - "starting_column": 34, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setExerciseContract", - "source_mapping": { - "start": 5076, - "length": 200, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 119, - 120, - 121, - 122 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "OptionsToken", - "source_mapping": { - "start": 691, - "length": 7138, - "filename_relative": "src/OptionsToken.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/OptionsToken.sol", - "filename_short": "src/OptionsToken.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setExerciseContract(address,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter OptionsToken.setExerciseContract(address,bool)._address (src/OptionsToken.sol#119) is not in mixedCase\n", - "markdown": "Parameter [OptionsToken.setExerciseContract(address,bool)._address](src/OptionsToken.sol#L119) is not in mixedCase\n", - "first_markdown_element": "src/OptionsToken.sol#L119", - "id": "e4c0233eb5b643def437c9c1f7c6853aa2f1fea782bfadf846c2fcb8c3819ad4", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tokenIn", - "source_mapping": { - "start": 3894, - "length": 16, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 105 - ], - "starting_column": 34, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateBalSwapPoolID", - "source_mapping": { - "start": 3865, - "length": 246, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateBalSwapPoolID(address,address,address,bytes32)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._tokenIn (lib/vault-v2/src/ReaperSwapper.sol#105) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._tokenIn](lib/vault-v2/src/ReaperSwapper.sol#L105) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L105", - "id": "e4c97d884fbc8ebc6174dbb08f7148ca0d5d354bbd7673b33287963362a75fac", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 8072, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 225 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7925, - "length": 321, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._router (lib/vault-v2/src/ReaperSwapper.sol#225) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._router](lib/vault-v2/src/ReaperSwapper.sol#L225) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L225", - "id": "e7849af7604ed52e3aba5cc48333f0e4e71b99a0c0eead2614dad5ee6a834648", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 6851, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 189 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6781, - "length": 317, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._amount (lib/vault-v2/src/ReaperSwapper.sol#189) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._amount](lib/vault-v2/src/ReaperSwapper.sol#L189) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L189", - "id": "ebf15d601b456582fb3fb1f26bfd7094936b95bf6bab66e069b0c047b066a470", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__Context_init", - "source_mapping": { - "start": 711, - "length": 59, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "is_dependency": true, - "lines": [ - 18, - 19 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ContextUpgradeable", - "source_mapping": { - "start": 651, - "length": 693, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", - "is_dependency": true, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__Context_init()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function ContextUpgradeable.__Context_init() (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#18-19) is not in mixedCase\n", - "markdown": "Function [ContextUpgradeable.__Context_init()](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L18-L19) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L18-L19", - "id": "ec47067e22967ab37ddb79c5eae4c225b0c9f1e4e15f1452db70b0a6f86103e0", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_from", - "source_mapping": { - "start": 7130, - "length": 13, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 198 - ], - "starting_column": 9, - "ending_column": 22 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 7104, - "length": 296, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._from (lib/vault-v2/src/ReaperSwapper.sol#198) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address)._from](lib/vault-v2/src/ReaperSwapper.sol#L198) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L198", - "id": "ee09748ad580f1e17ba44ec7063a9e46e48e09f119e406c49bc6f27fbc52333c", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__AccessControlEnumerable_init", - "source_mapping": { - "start": 570, - "length": 75, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 15, - 16 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "AccessControlEnumerableUpgradeable", - "source_mapping": { - "start": 431, - "length": 2605, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__AccessControlEnumerable_init()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function AccessControlEnumerableUpgradeable.__AccessControlEnumerable_init() (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#15-16) is not in mixedCase\n", - "markdown": "Function [AccessControlEnumerableUpgradeable.__AccessControlEnumerable_init()](lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L15-L16) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol#L15-L16", - "id": "ef5d0800c6abeec9cf95ba22a2b5356b466e7266ac453d3ed2d8d6715e2a485d", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tokenOut", - "source_mapping": { - "start": 4448, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 123 - ], - "starting_column": 9, - "ending_column": 26 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateUniV3SwapPath", - "source_mapping": { - "start": 4384, - "length": 297, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateUniV3SwapPath(address,address,address,UniV3SwapData)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._tokenOut (lib/vault-v2/src/ReaperSwapper.sol#123) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateUniV3SwapPath(address,address,address,UniV3SwapData)._tokenOut](lib/vault-v2/src/ReaperSwapper.sol#L123) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L123", - "id": "ef7fda16f5ed14577f83309fd8ecabd89b0ebc40bb57a21ff7f6bb30ca604ded", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 7975, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 222 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7925, - "length": 321, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._to (lib/vault-v2/src/ReaperSwapper.sol#222) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256)._to](lib/vault-v2/src/ReaperSwapper.sol#L222) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L222", - "id": "ef99c641c2dfab7b1d3b3387d2ee29b8c2fe143b6573293aa82a96d9e24c4ed8", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "__ERC165_init", - "source_mapping": { - "start": 862, - "length": 58, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "is_dependency": true, - "lines": [ - 24, - 25 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC165Upgradeable", - "source_mapping": { - "start": 783, - "length": 736, - "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol", - "is_dependency": true, - "lines": [ - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "__ERC165_init()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function ERC165Upgradeable.__ERC165_init() (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#24-25) is not in mixedCase\n", - "markdown": "Function [ERC165Upgradeable.__ERC165_init()](lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L24-L25) is not in mixedCase\n", - "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#L24-L25", - "id": "f226b70c0c428d938e421293c43b68d973d744168b94b568e0deb7b189c26f50", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tryCatchActive", - "source_mapping": { - "start": 7605, - "length": 20, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 214 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapVelo", - "source_mapping": { - "start": 7406, - "length": 513, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive (lib/vault-v2/src/ReaperSwapper.sol#214) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapVelo(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive](lib/vault-v2/src/ReaperSwapper.sol#L214) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L214", - "id": "f3b862d7b6a4c0d902c5505fa61fe589c65b1853823797fa41ecacdd2d9ea250", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_to", - "source_mapping": { - "start": 8609, - "length": 11, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 243 - ], - "starting_column": 9, - "ending_column": 20 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._to (lib/vault-v2/src/ReaperSwapper.sol#243) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._to](lib/vault-v2/src/ReaperSwapper.sol#L243) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L243", - "id": "f5ac32f324cb58d5086f8317679267d629598a093f9744b805224745cd6a4a98", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tokenOut", - "source_mapping": { - "start": 3912, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 105 - ], - "starting_column": 52, - "ending_column": 69 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateBalSwapPoolID", - "source_mapping": { - "start": 3865, - "length": 246, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 105, - 106, - 107, - 108, - 109, - 110, - 111 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateBalSwapPoolID(address,address,address,bytes32)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._tokenOut (lib/vault-v2/src/ReaperSwapper.sol#105) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateBalSwapPoolID(address,address,address,bytes32)._tokenOut](lib/vault-v2/src/ReaperSwapper.sol#L105) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L105", - "id": "f6df1545fe7e00b5fd2a959284fe6088686751e8c7cc23f57a5cd452cf1d1e58", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_minAmountOutData", - "source_mapping": { - "start": 6361, - "length": 41, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 177 - ], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData (lib/vault-v2/src/ReaperSwapper.sol#177) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._minAmountOutData](lib/vault-v2/src/ReaperSwapper.sol#L177) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L177", - "id": "f6f24fbb241e4df38de4d7a6812d9589f5ef7dfbf4d14334b09a01a8f35c5d51", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_vault", - "source_mapping": { - "start": 6412, - "length": 14, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 178 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._vault (lib/vault-v2/src/ReaperSwapper.sol#178) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._vault](lib/vault-v2/src/ReaperSwapper.sol#L178) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L178", - "id": "f95934574f1bf834e84810d59234ad1a34504a4e9db16b4ca5622230997341d5", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_strategists", - "source_mapping": { - "start": 3058, - "length": 29, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 82 - ], - "starting_column": 25, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "initialize", - "source_mapping": { - "start": 3038, - "length": 562, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "initialize(address[],address,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.initialize(address[],address,address)._strategists (lib/vault-v2/src/ReaperSwapper.sol#82) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.initialize(address[],address,address)._strategists](lib/vault-v2/src/ReaperSwapper.sol#L82) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L82", - "id": "f96d266d8b1835f94a34c648dc6724dfc7f543cfa8fa4a7e942b121681eab748", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_router", - "source_mapping": { - "start": 6106, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 168 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV2", - "source_mapping": { - "start": 5958, - "length": 302, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV2(address,address,uint256,MinAmountOutData,address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._router (lib/vault-v2/src/ReaperSwapper.sol#168) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV2(address,address,uint256,MinAmountOutData,address)._router](lib/vault-v2/src/ReaperSwapper.sol#L168) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L168", - "id": "fa6dcd2f29fbd832c383ff7357c474e98aba7ad3fe37aa86aa8c26cf32c98cb8", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tryCatchActive", - "source_mapping": { - "start": 6463, - "length": 20, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 180 - ], - "starting_column": 9, - "ending_column": 29 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6266, - "length": 509, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive (lib/vault-v2/src/ReaperSwapper.sol#180) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256,bool)._tryCatchActive](lib/vault-v2/src/ReaperSwapper.sol#L180) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L180", - "id": "fe29d9bfd86c06851a2a3e1b3c0db25699abadca8db8b78c71ae875293417d86", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_instantExitFee", - "source_mapping": { - "start": 6185, - "length": 23, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 168 - ], - "starting_column": 32, - "ending_column": 55 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setInstantExitFee", - "source_mapping": { - "start": 6158, - "length": 123, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "DiscountExercise", - "source_mapping": { - "start": 1052, - "length": 9969, - "filename_relative": "src/exercise/DiscountExercise.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/exercise/DiscountExercise.sol", - "filename_short": "src/exercise/DiscountExercise.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setInstantExitFee(uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter DiscountExercise.setInstantExitFee(uint256)._instantExitFee (src/exercise/DiscountExercise.sol#168) is not in mixedCase\n", - "markdown": "Parameter [DiscountExercise.setInstantExitFee(uint256)._instantExitFee](src/exercise/DiscountExercise.sol#L168) is not in mixedCase\n", - "first_markdown_element": "src/exercise/DiscountExercise.sol#L168", - "id": "ff1617a3413fc4e31072073ea6fc5e0e9bf4ead3476a5cb3e755d52d77461b93", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_tokenOut", - "source_mapping": { - "start": 4163, - "length": 17, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 113 - ], - "starting_column": 51, - "ending_column": 68 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "updateVeloSwapPath", - "source_mapping": { - "start": 4117, - "length": 261, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 113, - 114, - 115, - 116, - 117, - 118, - 119 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "updateVeloSwapPath(address,address,address,IVeloRouter.Route[])" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._tokenOut (lib/vault-v2/src/ReaperSwapper.sol#113) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.updateVeloSwapPath(address,address,address,IVeloRouter.Route[])._tokenOut](lib/vault-v2/src/ReaperSwapper.sol#L113) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L113", - "id": "ff85b7c367841884a8674d678ffff63e31caeb488f05d941ec34479fd6baf50c", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_vault", - "source_mapping": { - "start": 6927, - "length": 14, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 191 - ], - "starting_column": 9, - "ending_column": 23 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapBal", - "source_mapping": { - "start": 6781, - "length": 317, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapBal(address,address,uint256,MinAmountOutData,address,uint256)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._vault (lib/vault-v2/src/ReaperSwapper.sol#191) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapBal(address,address,uint256,MinAmountOutData,address,uint256)._vault](lib/vault-v2/src/ReaperSwapper.sol#L191) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L191", - "id": "ffc2ede031c84d632d708b92ea1e8bcb081c69066ff3fcc008d2e6cd01e71788", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "_amount", - "source_mapping": { - "start": 8630, - "length": 15, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 244 - ], - "starting_column": 9, - "ending_column": 24 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "swapUniV3", - "source_mapping": { - "start": 8558, - "length": 534, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ReaperSwapper", - "source_mapping": { - "start": 705, - "length": 19366, - "filename_relative": "lib/vault-v2/src/ReaperSwapper.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/ReaperSwapper.sol", - "filename_short": "lib/vault-v2/src/ReaperSwapper.sol", - "is_dependency": true, - "lines": [ - 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, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492, - 493, - 494, - 495, - 496, - 497, - 498, - 499, - 500 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount (lib/vault-v2/src/ReaperSwapper.sol#244) is not in mixedCase\n", - "markdown": "Parameter [ReaperSwapper.swapUniV3(address,address,uint256,MinAmountOutData,address,uint256,bool)._amount](lib/vault-v2/src/ReaperSwapper.sol#L244) is not in mixedCase\n", - "first_markdown_element": "lib/vault-v2/src/ReaperSwapper.sol#L244", - "id": "ffe58a8a038564f540670c2f6b6c6fa52d43784115d341afa1eba179df2efe8b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 5746, - "length": 3396, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - }, - { - "type": "node", - "name": "! y_sqrt_asm_0 < 0x1000000000000000000", - "source_mapping": { - "start": 6558, - "length": 119, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 180, - 181, - 182, - 183 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 5746, - "length": 3396, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.sqrt(uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#164-227) uses literals with too many digits:\n\t- ! y_sqrt_asm_0 < 0x1000000000000000000 (lib/solmate/src/utils/FixedPointMathLib.sol#180-183)\n", - "markdown": "[FixedPointMathLib.sqrt(uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227) uses literals with too many digits:\n\t- [! y_sqrt_asm_0 < 0x1000000000000000000](lib/solmate/src/utils/FixedPointMathLib.sol#L180-L183)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227", - "id": "0a819fb5f92a6f6a7948d6198a20a71e9693691c915fd452e5b41729e13b3356", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 5746, - "length": 3396, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - }, - { - "type": "node", - "name": "! y_sqrt_asm_0 < 0x10000000000000000000000000000000000", - "source_mapping": { - "start": 6409, - "length": 136, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 176, - 177, - 178, - 179 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 5746, - "length": 3396, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.sqrt(uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#164-227) uses literals with too many digits:\n\t- ! y_sqrt_asm_0 < 0x10000000000000000000000000000000000 (lib/solmate/src/utils/FixedPointMathLib.sol#176-179)\n", - "markdown": "[FixedPointMathLib.sqrt(uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227) uses literals with too many digits:\n\t- [! y_sqrt_asm_0 < 0x10000000000000000000000000000000000](lib/solmate/src/utils/FixedPointMathLib.sol#L176-L179)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227", - "id": "1356e20c62f39f7e407734298d046498a04468c6b830d2e9f2d11b012ceb8af6", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 5746, - "length": 3396, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - }, - { - "type": "node", - "name": "! y_sqrt_asm_0 < 0x10000000000", - "source_mapping": { - "start": 6690, - "length": 111, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 184, - 185, - 186, - 187 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 5746, - "length": 3396, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.sqrt(uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#164-227) uses literals with too many digits:\n\t- ! y_sqrt_asm_0 < 0x10000000000 (lib/solmate/src/utils/FixedPointMathLib.sol#184-187)\n", - "markdown": "[FixedPointMathLib.sqrt(uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227) uses literals with too many digits:\n\t- [! y_sqrt_asm_0 < 0x10000000000](lib/solmate/src/utils/FixedPointMathLib.sol#L184-L187)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227", - "id": "4547466ed7b7e6105f203a76bcd6ab35e0154e0fc16f7c2ed0cf4f753cbcbb6d", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - }, - { - "type": "node", - "name": "ratio = 0x100000000000000000000000000000000", - "source_mapping": { - "start": 1659, - "length": 141, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 31, - 32, - 33 - ], - "starting_column": 13, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getSqrtRatioAtTick", - "source_mapping": { - "start": 1385, - "length": 2759, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "TickMath", - "source_mapping": { - "start": 305, - "length": 9112, - "filename_relative": "lib/v3-core/contracts/libraries/TickMath.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/v3-core/contracts/libraries/TickMath.sol", - "filename_short": "lib/v3-core/contracts/libraries/TickMath.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getSqrtRatioAtTick(int24)" - } - } - } - } - ], - "description": "TickMath.getSqrtRatioAtTick(int24) (lib/v3-core/contracts/libraries/TickMath.sol#26-61) uses literals with too many digits:\n\t- ratio = 0x100000000000000000000000000000000 (lib/v3-core/contracts/libraries/TickMath.sol#31-33)\n", - "markdown": "[TickMath.getSqrtRatioAtTick(int24)](lib/v3-core/contracts/libraries/TickMath.sol#L26-L61) uses literals with too many digits:\n\t- [ratio = 0x100000000000000000000000000000000](lib/v3-core/contracts/libraries/TickMath.sol#L31-L33)\n", - "first_markdown_element": "lib/v3-core/contracts/libraries/TickMath.sol#L26-L61", - "id": "756616de9aca12ab02acf2bbcd459f0074cea7de1b8fbd815a63cf4473e1d454", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 373, - "length": 1221, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Babylonian", - "source_mapping": { - "start": 201, - "length": 1395, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - }, - { - "type": "node", - "name": "xx >= 0x100000000000000000000000000000000", - "source_mapping": { - "start": 697, - "length": 41, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 18 - ], - "starting_column": 13, - "ending_column": 54 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 373, - "length": 1221, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Babylonian", - "source_mapping": { - "start": 201, - "length": 1395, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - } - } - } - ], - "description": "Babylonian.sqrt(uint256) (lib/vault-v2/src/libraries/Babylonian.sol#10-54) uses literals with too many digits:\n\t- xx >= 0x100000000000000000000000000000000 (lib/vault-v2/src/libraries/Babylonian.sol#18)\n", - "markdown": "[Babylonian.sqrt(uint256)](lib/vault-v2/src/libraries/Babylonian.sol#L10-L54) uses literals with too many digits:\n\t- [xx >= 0x100000000000000000000000000000000](lib/vault-v2/src/libraries/Babylonian.sol#L18)\n", - "first_markdown_element": "lib/vault-v2/src/libraries/Babylonian.sol#L10-L54", - "id": "a0fba3455384ac1e6d71c40190239592f39a24734f29beb5951cfa0d1eac9cca", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 373, - "length": 1221, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Babylonian", - "source_mapping": { - "start": 201, - "length": 1395, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - }, - { - "type": "node", - "name": "xx >= 0x10000000000000000", - "source_mapping": { - "start": 810, - "length": 25, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 22 - ], - "starting_column": 13, - "ending_column": 38 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 373, - "length": 1221, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Babylonian", - "source_mapping": { - "start": 201, - "length": 1395, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - } - } - } - ], - "description": "Babylonian.sqrt(uint256) (lib/vault-v2/src/libraries/Babylonian.sol#10-54) uses literals with too many digits:\n\t- xx >= 0x10000000000000000 (lib/vault-v2/src/libraries/Babylonian.sol#22)\n", - "markdown": "[Babylonian.sqrt(uint256)](lib/vault-v2/src/libraries/Babylonian.sol#L10-L54) uses literals with too many digits:\n\t- [xx >= 0x10000000000000000](lib/vault-v2/src/libraries/Babylonian.sol#L22)\n", - "first_markdown_element": "lib/vault-v2/src/libraries/Babylonian.sol#L10-L54", - "id": "e5cea88aa35e144390464a50cd74e5ef0814fa17832eaacde7698aa0a1c5c98f", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 373, - "length": 1221, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Babylonian", - "source_mapping": { - "start": 201, - "length": 1395, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - }, - { - "type": "node", - "name": "xx >= 0x100000000", - "source_mapping": { - "start": 906, - "length": 17, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 26 - ], - "starting_column": 13, - "ending_column": 30 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 373, - "length": 1221, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Babylonian", - "source_mapping": { - "start": 201, - "length": 1395, - "filename_relative": "lib/vault-v2/src/libraries/Babylonian.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/vault-v2/src/libraries/Babylonian.sol", - "filename_short": "lib/vault-v2/src/libraries/Babylonian.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - } - } - } - ], - "description": "Babylonian.sqrt(uint256) (lib/vault-v2/src/libraries/Babylonian.sol#10-54) uses literals with too many digits:\n\t- xx >= 0x100000000 (lib/vault-v2/src/libraries/Babylonian.sol#26)\n", - "markdown": "[Babylonian.sqrt(uint256)](lib/vault-v2/src/libraries/Babylonian.sol#L10-L54) uses literals with too many digits:\n\t- [xx >= 0x100000000](lib/vault-v2/src/libraries/Babylonian.sol#L26)\n", - "first_markdown_element": "lib/vault-v2/src/libraries/Babylonian.sol#L10-L54", - "id": "e8d06912ce8ea156a58638083700c8eb9591c4bd2968b12ff93038bc775de738", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 5746, - "length": 3396, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - }, - { - "type": "node", - "name": "! y_sqrt_asm_0 < 0x1000000", - "source_mapping": { - "start": 6814, - "length": 106, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 188, - 189, - 190, - 191 - ], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sqrt", - "source_mapping": { - "start": 5746, - "length": 3396, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "FixedPointMathLib", - "source_mapping": { - "start": 341, - "length": 9712, - "filename_relative": "lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/lib/solmate/src/utils/FixedPointMathLib.sol", - "filename_short": "lib/solmate/src/utils/FixedPointMathLib.sol", - "is_dependency": true, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sqrt(uint256)" - } - } - } - } - ], - "description": "FixedPointMathLib.sqrt(uint256) (lib/solmate/src/utils/FixedPointMathLib.sol#164-227) uses literals with too many digits:\n\t- ! y_sqrt_asm_0 < 0x1000000 (lib/solmate/src/utils/FixedPointMathLib.sol#188-191)\n", - "markdown": "[FixedPointMathLib.sqrt(uint256)](lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227) uses literals with too many digits:\n\t- [! y_sqrt_asm_0 < 0x1000000](lib/solmate/src/utils/FixedPointMathLib.sol#L188-L191)\n", - "first_markdown_element": "lib/solmate/src/utils/FixedPointMathLib.sol#L164-L227", - "id": "f28694d3e6e5fcf9a2f3366378ebef6a30892b6367b9ade09d2faca0f8828b17", - "check": "too-many-digits", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [], - "description": "The following unused import(s) in src/helpers/SwapHelper.sol should be removed:\n\t-import \"forge-std/console.sol\"; (src/helpers/SwapHelper.sol#9)\n", - "markdown": "The following unused import(s) in src/helpers/SwapHelper.sol should be removed:\n\t-import \"forge-std/console.sol\"; (src/helpers/SwapHelper.sol#9)\n", - "first_markdown_element": "", - "id": "6f50be6825ed38206d4fb51dd6876afc1476363bb114f0ef2ebff4c45cde45e0", - "check": "unused-import", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "isToken0", - "source_mapping": { - "start": 2441, - "length": 20, - "filename_relative": "src/oracles/ThenaOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/ThenaOracle.sol", - "filename_short": "src/oracles/ThenaOracle.sol", - "is_dependency": false, - "lines": [ - 60 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ThenaOracle", - "source_mapping": { - "start": 587, - "length": 5996, - "filename_relative": "src/oracles/ThenaOracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/ThenaOracle.sol", - "filename_short": "src/oracles/ThenaOracle.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "ThenaOracle.isToken0 (src/oracles/ThenaOracle.sol#60) should be immutable \n", - "markdown": "[ThenaOracle.isToken0](src/oracles/ThenaOracle.sol#L60) should be immutable \n", - "first_markdown_element": "src/oracles/ThenaOracle.sol#L60", - "id": "e0b61928eb6070b87873ce63ac8b19811c80ba5bc00753317605d06c2cac17ae", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "isToken0", - "source_mapping": { - "start": 2701, - "length": 20, - "filename_relative": "src/oracles/UniswapV3Oracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", - "filename_short": "src/oracles/UniswapV3Oracle.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "UniswapV3Oracle", - "source_mapping": { - "start": 729, - "length": 6210, - "filename_relative": "src/oracles/UniswapV3Oracle.sol", - "filename_absolute": "/home/anything/Blockchain/ByteMasons/options-token/src/oracles/UniswapV3Oracle.sol", - "filename_short": "src/oracles/UniswapV3Oracle.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - } - ], - "description": "UniswapV3Oracle.isToken0 (src/oracles/UniswapV3Oracle.sol#65) should be immutable \n", - "markdown": "[UniswapV3Oracle.isToken0](src/oracles/UniswapV3Oracle.sol#L65) should be immutable \n", - "first_markdown_element": "src/oracles/UniswapV3Oracle.sol#L65", - "id": "fe23c04d02b78e9e124d8ab8aa13ce54ede2783408d0e75877e7375466537adc", - "check": "immutable-states", - "impact": "Optimization", - "confidence": "High" - } - ] - } -} \ No newline at end of file diff --git a/src/OptionsToken.sol b/src/OptionsToken.sol index d51db05..42603f8 100644 --- a/src/OptionsToken.sol +++ b/src/OptionsToken.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.13; import {OwnableUpgradeable} from "oz-upgradeable/access/OwnableUpgradeable.sol"; import {ERC20Upgradeable} from "oz-upgradeable/token/ERC20/ERC20Upgradeable.sol"; import {UUPSUpgradeable} from "oz-upgradeable/proxy/utils/UUPSUpgradeable.sol"; - +import {PausableUpgradeable} from "oz-upgradeable/security/PausableUpgradeable.sol"; import {IOptionsToken} from "./interfaces/IOptionsToken.sol"; import {IOracle} from "./interfaces/IOracle.sol"; import {IExercise} from "./interfaces/IExercise.sol"; @@ -13,7 +13,7 @@ import {IExercise} from "./interfaces/IExercise.sol"; /// @author Eidolon & lookee /// @notice Options token representing the right to perform an advantageous action, /// such as purchasing the underlying token at a discount to the market price. -contract OptionsToken is IOptionsToken, ERC20Upgradeable, OwnableUpgradeable, UUPSUpgradeable { +contract OptionsToken is IOptionsToken, ERC20Upgradeable, OwnableUpgradeable, UUPSUpgradeable, PausableUpgradeable { /// ----------------------------------------------------------------------- /// Errors /// ----------------------------------------------------------------------- @@ -99,6 +99,7 @@ contract OptionsToken is IOptionsToken, ERC20Upgradeable, OwnableUpgradeable, UU function exercise(uint256 amount, address recipient, address option, bytes calldata params) external virtual + whenNotPaused returns ( uint256 paymentAmount, address, @@ -121,6 +122,16 @@ contract OptionsToken is IOptionsToken, ERC20Upgradeable, OwnableUpgradeable, UU emit SetExerciseContract(_address, _isExercise); } + /// @notice Pauses functionality related to exercises of contracts. + function pause() external onlyOwner { + _pause(); + } + + /// @notice Unpauses functionality related to exercises of contracts. + function unpause() external onlyOwner { + _unpause(); + } + /// ----------------------------------------------------------------------- /// Internal functions /// ----------------------------------------------------------------------- diff --git a/src/exercise/DiscountExercise.sol b/src/exercise/DiscountExercise.sol index 8348e6f..3be5686 100644 --- a/src/exercise/DiscountExercise.sol +++ b/src/exercise/DiscountExercise.sol @@ -35,7 +35,7 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { error Exercise__MultiplierOutOfRange(); error Exercise__InvalidOracle(); error Exercise__FeeGreaterThanMax(); - error Exercise__FeeDistributionFailed(); + error Exercise__AmountOutIsZero(); /// Events event Exercised(address indexed sender, address indexed recipient, uint256 amount, uint256 paymentAmount); @@ -138,8 +138,8 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { } /// Owner functions - function configSwapProps(SwapProps memory _swapProps) external virtual override onlyOwner { - _configSwapProps(_swapProps); + function setSwapProps(SwapProps memory _swapProps) external virtual override onlyOwner { + _setSwapProps(_swapProps); } /// @notice Sets the oracle contract. Only callable by the owner. @@ -208,7 +208,6 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { /// Internal functions function _zap(address from, uint256 amount, address recipient, DiscountExerciseParams memory params) internal - virtual returns (uint256 paymentAmount, address, uint256, uint256) { if (block.timestamp > params.deadline) revert Exercise__PastDeadline(); @@ -224,13 +223,19 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { /* Approve the underlying token to make swap */ underlyingToken.approve(swapProps.swapper, feeAmount); /* Swap underlying token to payment token (asset) */ - _generalSwap(swapProps.exchangeTypes, address(underlyingToken), address(paymentToken), feeAmount, minAmountOut, swapProps.exchangeAddress); + uint256 amountOut = _generalSwap( + swapProps.exchangeTypes, address(underlyingToken), address(paymentToken), feeAmount, minAmountOut, swapProps.exchangeAddress + ); + + if (amountOut == 0) { + revert Exercise__AmountOutIsZero(); + } + feeAmount = 0; + underlyingToken.approve(swapProps.swapper, 0); + // transfer payment tokens from user to the set receivers distributeFees(paymentToken.balanceOf(address(this)), paymentToken); - if (paymentToken.balanceOf(feeRecipients[0]) == 0 || paymentToken.balanceOf(feeRecipients[1]) == 0) { - revert Exercise__FeeDistributionFailed(); - } } // transfer underlying tokens to recipient without the bonus @@ -276,7 +281,7 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { return _getPaymentAmount(amount); } - function _getPaymentAmount(uint256 amount) private view returns (uint256 paymentAmount) { + function _getPaymentAmount(uint256 amount) internal view returns (uint256 paymentAmount) { paymentAmount = amount.mulWadUp(oracle.getPrice().mulDivUp(multiplier, BPS_DENOM)); } } diff --git a/src/helpers/SwapHelper.sol b/src/helpers/SwapHelper.sol index f4fbff0..828b600 100644 --- a/src/helpers/SwapHelper.sol +++ b/src/helpers/SwapHelper.sol @@ -33,12 +33,16 @@ abstract contract SwapHelper { error SwapHelper__InvalidExchangeType(uint256 exType); constructor(SwapProps memory _swapProps) { - _configSwapProps(_swapProps); + _setSwapProps(_swapProps); } - function configSwapProps(SwapProps memory _swapProps) external virtual; + /** + * @dev Override function shall have proper access control + * @param _swapProps - swap properties + */ + function setSwapProps(SwapProps memory _swapProps) external virtual; - function _configSwapProps(SwapProps memory _swapProps) internal { + function _setSwapProps(SwapProps memory _swapProps) internal { if (_swapProps.maxSwapSlippage > BPS_DENOM) { revert SwapHelper__SlippageGreaterThanMax(); } @@ -62,17 +66,18 @@ abstract contract SwapHelper { */ function _generalSwap(ExchangeType exType, address tokenIn, address tokenOut, uint256 amount, uint256 minAmountOut, address exchangeAddress) internal + returns (uint256) { ISwapperSwaps _swapper = ISwapperSwaps(swapProps.swapper); MinAmountOutData memory minAmountOutData = MinAmountOutData(MinAmountOutKind.Absolute, minAmountOut); if (exType == ExchangeType.UniV2) { - _swapper.swapUniV2(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + return _swapper.swapUniV2(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); } else if (exType == ExchangeType.Bal) { - _swapper.swapBal(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + return _swapper.swapBal(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); } else if (exType == ExchangeType.VeloSolid) { - _swapper.swapVelo(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + return _swapper.swapVelo(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); } else if (exType == ExchangeType.UniV3) { - _swapper.swapUniV3(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); + return _swapper.swapUniV3(tokenIn, tokenOut, amount, minAmountOutData, exchangeAddress); } else { revert SwapHelper__InvalidExchangeType(uint256(exType)); } diff --git a/test/OptionsToken.t.sol b/test/OptionsToken.t.sol index 08af9ee..e6ccdfb 100644 --- a/test/OptionsToken.t.sol +++ b/test/OptionsToken.t.sol @@ -66,7 +66,6 @@ contract OptionsTokenTest is Test { optionsToken.transferOwnership(owner); /* Reaper deployment and configuration */ - uint256 slippage = 500; // 5% uint256 minAmountToTriggerSwap = 1e5; @@ -392,6 +391,39 @@ contract OptionsTokenTest is Test { optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); } + function test_oTokenWhenPaused(uint256 amount) public { + amount = bound(amount, 100, 1 ether); + address recipient = makeAddr("recipient"); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), 3 * amount); + + // mint payment tokens + uint256 expectedPaymentAmount = 3 * amount.mulWadUp(oracle.getPrice().mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + deal(address(paymentToken), address(this), expectedPaymentAmount); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + /* Only owner can pause */ + vm.startPrank(recipient); + vm.expectRevert(bytes("Ownable: caller is not the owner")); // Ownable: caller is not the owner + optionsToken.pause(); + vm.stopPrank(); + + vm.prank(owner); + optionsToken.pause(); + vm.expectRevert(bytes("Pausable: paused")); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + vm.prank(owner); + optionsToken.unpause(); + optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + } + function test_exerciserConfigAccesses() public { uint256 slippage = 555; // 5.55% address[] memory tokens = new address[](2); @@ -404,10 +436,10 @@ contract OptionsTokenTest is Test { SwapProps memory swapProps = SwapProps(address(reaperSwapper), address(reaperSwapper), ExchangeType.Bal, slippage); vm.expectRevert(bytes("UNAUTHORIZED")); - exerciser.configSwapProps(swapProps); + exerciser.setSwapProps(swapProps); vm.prank(owner); - exerciser.configSwapProps(swapProps); + exerciser.setSwapProps(swapProps); vm.expectRevert(bytes("UNAUTHORIZED")); exerciser.setOracle(oracle); From 12936705abbee5563d17a61544ce64cec0deabcb Mon Sep 17 00:00:00 2001 From: xRave110 Date: Mon, 1 Jul 2024 21:19:53 +0200 Subject: [PATCH 08/10] Changed way of setting swap properties --- src/exercise/DiscountExercise.sol | 3 ++- src/helpers/SwapHelper.sol | 4 +--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/exercise/DiscountExercise.sol b/src/exercise/DiscountExercise.sol index 3be5686..b8c556f 100644 --- a/src/exercise/DiscountExercise.sol +++ b/src/exercise/DiscountExercise.sol @@ -90,10 +90,11 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { address[] memory feeRecipients_, uint256[] memory feeBPS_, SwapProps memory swapProps_ - ) BaseExercise(oToken_, feeRecipients_, feeBPS_) Owned(owner_) SwapHelper(swapProps_) { + ) BaseExercise(oToken_, feeRecipients_, feeBPS_) Owned(owner_) SwapHelper() { paymentToken = paymentToken_; underlyingToken = underlyingToken_; + _setSwapProps(swapProps_); _setOracle(oracle_); _setMultiplier(multiplier_); _setInstantExitFee(instantExitFee_); diff --git a/src/helpers/SwapHelper.sol b/src/helpers/SwapHelper.sol index 828b600..4bc7d2a 100644 --- a/src/helpers/SwapHelper.sol +++ b/src/helpers/SwapHelper.sol @@ -32,9 +32,7 @@ abstract contract SwapHelper { error SwapHelper__ParamHasAddressZero(); error SwapHelper__InvalidExchangeType(uint256 exType); - constructor(SwapProps memory _swapProps) { - _setSwapProps(_swapProps); - } + constructor() {} /** * @dev Override function shall have proper access control From 8d795ca12ad190aaaac3812e6d74693a6b85b62d Mon Sep 17 00:00:00 2001 From: xRave110 Date: Fri, 5 Jul 2024 08:30:43 +0200 Subject: [PATCH 09/10] Changes after review --- .gitmodules | 30 +++++---- src/OptionsToken.sol | 5 ++ src/exercise/DiscountExercise.sol | 7 +- src/helpers/SwapHelper.sol | 2 +- src/oracles/AlgebraOracle.sol | 3 +- src/oracles/ThenaOracle.sol | 3 +- src/oracles/UniswapV3Oracle.sol | 3 +- test/OptionsToken.t.sol | 107 +++++++++++++++++++++++++++++- test/UniswapV3Oracle.t.sol | 89 +++++-------------------- test/mocks/MockUniswapPool.sol | 7 +- 10 files changed, 159 insertions(+), 97 deletions(-) diff --git a/.gitmodules b/.gitmodules index f324d8b..75229a8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,21 +1,23 @@ [submodule "lib/forge-std"] - path = lib/forge-std - url = https://github.com/foundry-rs/forge-std +path = lib/forge-std +url = https://github.com/foundry-rs/forge-std [submodule "lib/solmate"] - path = lib/solmate - url = https://github.com/rari-capital/solmate +path = lib/solmate +url = https://github.com/rari-capital/solmate [submodule "lib/create3-factory"] - path = lib/create3-factory - url = https://github.com/zeframlou/create3-factory +path = lib/create3-factory +url = https://github.com/zeframlou/create3-factory [submodule "lib/v3-core"] - path = lib/v3-core - url = https://github.com/uniswap/v3-core +path = lib/v3-core +url = https://github.com/uniswap/v3-core [submodule "lib/openzeppelin-contracts-upgradeable"] - path = lib/openzeppelin-contracts-upgradeable - url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable +path = lib/openzeppelin-contracts-upgradeable +url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable +branch = v4.9.6 [submodule "lib/openzeppelin-contracts"] - path = lib/openzeppelin-contracts - url = https://github.com/OpenZeppelin/openzeppelin-contracts +path = lib/openzeppelin-contracts +url = https://github.com/OpenZeppelin/openzeppelin-contracts +branch = v4.9.6 [submodule "lib/vault-v2"] - path = lib/vault-v2 - url = https://github.com/Byte-Masons/vault-v2 +path = lib/vault-v2 +url = https://github.com/Byte-Masons/vault-v2 \ No newline at end of file diff --git a/src/OptionsToken.sol b/src/OptionsToken.sol index 42603f8..a19e8ee 100644 --- a/src/OptionsToken.sol +++ b/src/OptionsToken.sol @@ -61,6 +61,7 @@ contract OptionsToken is IOptionsToken, ERC20Upgradeable, OwnableUpgradeable, UU __UUPSUpgradeable_init(); __ERC20_init(name_, symbol_); __Ownable_init(); + __Pausable_init(); tokenAdmin = tokenAdmin_; _clearUpgradeCooldown(); @@ -96,6 +97,10 @@ contract OptionsToken is IOptionsToken, ERC20Upgradeable, OwnableUpgradeable, UU /// @param recipient The recipient of the reward /// @param option The address of the Exercise contract with the redemption logic /// @param params Extra parameters to be used by the exercise function + /// @return paymentAmount token amount paid for exercising + /// @return data0 address data to return by different exerciser contracts + /// @return data1 integer data to return by different exerciser contracts + /// @return data2 additional integer data to return by different exerciser contracts function exercise(uint256 amount, address recipient, address option, bytes calldata params) external virtual diff --git a/src/exercise/DiscountExercise.sol b/src/exercise/DiscountExercise.sol index b8c556f..1643a47 100644 --- a/src/exercise/DiscountExercise.sol +++ b/src/exercise/DiscountExercise.sol @@ -36,6 +36,7 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { error Exercise__InvalidOracle(); error Exercise__FeeGreaterThanMax(); error Exercise__AmountOutIsZero(); + error Exercise__ZapMultiplierIncompatible(); /// Events event Exercised(address indexed sender, address indexed recipient, uint256 amount, uint256 paymentAmount); @@ -212,14 +213,16 @@ contract DiscountExercise is BaseExercise, SwapHelper, Pausable { returns (uint256 paymentAmount, address, uint256, uint256) { if (block.timestamp > params.deadline) revert Exercise__PastDeadline(); - uint256 discountedUnderlying = amount.mulDivUp(multiplier, BPS_DENOM); + if (multiplier >= BPS_DENOM) revert Exercise__ZapMultiplierIncompatible(); + uint256 discountedUnderlying = amount.mulDivUp(BPS_DENOM - multiplier, BPS_DENOM); uint256 fee = discountedUnderlying.mulDivUp(instantExitFee, BPS_DENOM); uint256 underlyingAmount = discountedUnderlying - fee; + uint256 balance = underlyingToken.balanceOf(address(this)); // Fee amount in underlying tokens charged for zapping feeAmount += fee; - if (feeAmount >= minAmountToTriggerSwap) { + if (feeAmount >= minAmountToTriggerSwap && balance >= (feeAmount + underlyingAmount)) { uint256 minAmountOut = _getMinAmountOutData(feeAmount, swapProps.maxSwapSlippage, address(oracle)); /* Approve the underlying token to make swap */ underlyingToken.approve(swapProps.swapper, feeAmount); diff --git a/src/helpers/SwapHelper.sol b/src/helpers/SwapHelper.sol index 4bc7d2a..87c7af5 100644 --- a/src/helpers/SwapHelper.sol +++ b/src/helpers/SwapHelper.sol @@ -91,7 +91,7 @@ abstract contract SwapHelper { /* Get price from oracle */ uint256 price = IOracle(_oracle).getPrice(); /* Deduct slippage amount from predicted amount */ - minAmountOut = ((_amountIn.mulWadUp(price)) - (((_amountIn.mulWadUp(price)) * _maxSlippage) / BPS_DENOM)); + minAmountOut = (_amountIn.mulWadUp(price) * (BPS_DENOM - _maxSlippage)) / BPS_DENOM; return minAmountOut; } diff --git a/src/oracles/AlgebraOracle.sol b/src/oracles/AlgebraOracle.sol index 349e8aa..79ecf89 100644 --- a/src/oracles/AlgebraOracle.sol +++ b/src/oracles/AlgebraOracle.sol @@ -5,7 +5,7 @@ import {Owned} from "solmate/auth/Owned.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; import {IOracle} from "../interfaces/IOracle.sol"; - +import {ERC20} from "solmate/tokens/ERC20.sol"; import {IAlgebraPool} from "../interfaces/IAlgebraPool.sol"; import {TickMath} from "v3-core/libraries/TickMath.sol"; import {FullMath} from "v3-core/libraries/FullMath.sol"; @@ -70,6 +70,7 @@ contract AlgebraOracle is IOracle, Owned { /// ----------------------------------------------------------------------- constructor(IAlgebraPool algebraPool_, address token, address owner_, uint32 secs_, uint32 ago_, uint128 minPrice_) Owned(owner_) { + if (ERC20(algebraPool_.token0()).decimals() != 18 || ERC20(algebraPool_.token1()).decimals() != 18) revert AlgebraOracle__InvalidParams(); if (algebraPool_.token0() != token && algebraPool_.token1() != token) revert AlgebraOracle__InvalidParams(); if (secs_ < MIN_SECS) revert AlgebraOracle__InvalidWindow(); algebraPool = algebraPool_; diff --git a/src/oracles/ThenaOracle.sol b/src/oracles/ThenaOracle.sol index 0b2e8a1..ab43a82 100644 --- a/src/oracles/ThenaOracle.sol +++ b/src/oracles/ThenaOracle.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.13; import {Owned} from "solmate/auth/Owned.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; - +import {ERC20} from "solmate/tokens/ERC20.sol"; import {IOracle} from "../interfaces/IOracle.sol"; import {IThenaPair} from "../interfaces/IThenaPair.sol"; @@ -64,6 +64,7 @@ contract ThenaOracle is IOracle, Owned { /// ----------------------------------------------------------------------- constructor(IThenaPair thenaPair_, address token, address owner_, uint56 secs_, uint128 minPrice_) Owned(owner_) { + if (ERC20(thenaPair_.token0()).decimals() != 18 || ERC20(thenaPair_.token1()).decimals() != 18) revert ThenaOracle__InvalidParams(); if (thenaPair_.stable()) revert ThenaOracle__StablePairsUnsupported(); if (thenaPair_.token0() != token && thenaPair_.token1() != token) revert ThenaOracle__InvalidParams(); if (secs_ < MIN_SECS) revert ThenaOracle__InvalidWindow(); diff --git a/src/oracles/UniswapV3Oracle.sol b/src/oracles/UniswapV3Oracle.sol index 8c93e6d..cbad255 100644 --- a/src/oracles/UniswapV3Oracle.sol +++ b/src/oracles/UniswapV3Oracle.sol @@ -5,7 +5,7 @@ import {Owned} from "solmate/auth/Owned.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; import {IOracle} from "../interfaces/IOracle.sol"; - +import {ERC20} from "solmate/tokens/ERC20.sol"; import {IUniswapV3Pool} from "v3-core/interfaces/IUniswapV3Pool.sol"; import {TickMath} from "v3-core/libraries/TickMath.sol"; import {FullMath} from "v3-core/libraries/FullMath.sol"; @@ -69,6 +69,7 @@ contract UniswapV3Oracle is IOracle, Owned { /// ----------------------------------------------------------------------- constructor(IUniswapV3Pool uniswapPool_, address token, address owner_, uint32 secs_, uint32 ago_, uint128 minPrice_) Owned(owner_) { + if (ERC20(uniswapPool_.token0()).decimals() != 18 || ERC20(uniswapPool_.token1()).decimals() != 18) revert UniswapOracle__InvalidParams(); //|| ERC20(uniswapPool_.token1()).decimals() != 18 if (uniswapPool_.token0() != token && uniswapPool_.token1() != token) revert UniswapOracle__InvalidParams(); if (secs_ < MIN_SECS) revert UniswapOracle__InvalidWindow(); uniswapPool = uniswapPool_; diff --git a/test/OptionsToken.t.sol b/test/OptionsToken.t.sol index e6ccdfb..d09b8b7 100644 --- a/test/OptionsToken.t.sol +++ b/test/OptionsToken.t.sol @@ -28,6 +28,7 @@ contract OptionsTokenTest is Test { uint256 constant ORACLE_MIN_PRICE_DENOM = 10000; uint256 constant MAX_SUPPLY = 1e27; // the max supply of the options token & the underlying token uint256 constant INSTANT_EXIT_FEE = 500; + uint256 constant BPS_DENOM = 10_000; address owner; address tokenAdmin; @@ -125,7 +126,7 @@ contract OptionsTokenTest is Test { assertEqDecimal(optionsToken.balanceOf(address(this)), amount, 18); } - function test_discountExerciseHappyPath(uint256 amount) public { + function test_redeemPositiveScenario(uint256 amount) public { amount = bound(amount, 100, MAX_SUPPLY); address recipient = makeAddr("recipient"); @@ -155,7 +156,7 @@ contract OptionsTokenTest is Test { assertEqDecimal(expectedPaymentAmount, paymentAmount, 18, "exercise returned wrong value"); } - function test_instantExitExerciseHappyPath(uint256 amount) public { + function test_zapPositiveScenario(uint256 amount) public { amount = bound(amount, 1e16, 1e22); address recipient = makeAddr("recipient"); @@ -465,4 +466,106 @@ contract OptionsTokenTest is Test { vm.prank(owner); exerciser.setMinAmountToTriggerSwap(1e16); } + + function test_zapWhenExerciseUnderfunded(uint256 amount) public { + amount = bound(amount, 1e16, 1e22); + address recipient = makeAddr("recipient"); + + uint256 remainingAmount = 4e15; + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), amount); + + // mint payment tokens + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE.mulDivUp(PRICE_MULTIPLIER, ORACLE_MIN_PRICE_DENOM)); + uint256 discountedUnderlying = amount.mulDivUp(PRICE_MULTIPLIER, 10_000); + uint256 expectedUnderlyingAmount = discountedUnderlying - discountedUnderlying.mulDivUp(INSTANT_EXIT_FEE, 10_000); + deal(address(paymentToken), address(this), expectedPaymentAmount); + console.log("discountedUnderlying:", discountedUnderlying); + console.log("expectedUnderlyingAmount:", expectedUnderlyingAmount); + uint256 calcPaymentAmount = exerciser.getPaymentAmount(amount); + uint256 totalFee = calcPaymentAmount.mulDivUp(INSTANT_EXIT_FEE, 10_000); + uint256 fee1 = totalFee.mulDivDown(feeBPS_[0], 10_000); + uint256 fee2 = totalFee - fee1; + console.log("expected paymentFee1: ", fee1); + console.log("expected paymentFee2: ", fee2); + + // Simulate sitiation when exerciser has less underlying amount than expected from exercise action + vm.prank(address(exerciser)); + // IERC20(underlyingToken).transfer(address(this), 1e27 - (discountedUnderlying - 1)); + IERC20(underlyingToken).transfer(address(this), 1e27 - remainingAmount); + console.log("Balance of exerciser:", IERC20(underlyingToken).balanceOf(address(exerciser))); + + // exercise options tokens + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: true}); + (uint256 paymentAmount,,,) = optionsToken.exercise(amount, recipient, address(exerciser), abi.encode(params)); + + // verify options tokens were transferred + assertEqDecimal(optionsToken.balanceOf(address(this)), 0, 18, "user still has options tokens"); + assertEqDecimal(optionsToken.totalSupply(), 0, 18, "option tokens not burned"); + + // verify payment tokens were transferred + assertEq(paymentToken.balanceOf(address(this)), expectedPaymentAmount, "user lost payment tokens during instant exit"); + + assertEq(paymentToken.balanceOf(feeRecipients_[0]), 0, "fee recipient 1 didn't receive payment tokens"); + assertEq(paymentToken.balanceOf(feeRecipients_[1]), 0, "fee recipient 2 didn't receive payment tokens"); + assertEqDecimal(paymentAmount, 0, 18, "exercise returned wrong value"); + assertEq(IERC20(underlyingToken).balanceOf(recipient), remainingAmount, "Recipient got wrong amount of underlying token"); + } + + function test_modeZapRedeemWithDifferentMultipliers(uint256 multiplier) public { + multiplier = bound(multiplier, BPS_DENOM / 10, BPS_DENOM - 1); + // multiplier = 8000; + uint256 amount = 1000e18; + + address recipient = makeAddr("recipient"); + + // mint options tokens + vm.prank(tokenAdmin); + optionsToken.mint(address(this), 2 * amount); + + vm.prank(owner); + exerciser.setMultiplier(multiplier); + uint256 expectedPaymentAmount = amount.mulWadUp(ORACLE_INIT_TWAP_VALUE) * 4; + deal(address(paymentToken), address(this), expectedPaymentAmount); + + uint256 underlyingBalance = + IERC20(underlyingToken).balanceOf(address(this)) + paymentToken.balanceOf(address(this)).divWadUp(oracle.getPrice()); + console.log("Price: ", oracle.getPrice()); + console.log("Balance before: ", underlyingBalance); + console.log("Underlying amount before: ", IERC20(underlyingToken).balanceOf(address(this))); + + // exercise options tokens -> redeem + DiscountExerciseParams memory params = + DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: false}); + (uint256 paymentAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); + + uint256 underlyingBalanceAfterRedeem = + IERC20(underlyingToken).balanceOf(address(this)) + paymentToken.balanceOf(address(this)).divWadUp(oracle.getPrice()); + console.log("Price: ", oracle.getPrice()); + console.log("Underlying amount after redeem: ", IERC20(underlyingToken).balanceOf(address(this))); + console.log("Balance after redeem: ", underlyingBalanceAfterRedeem); + + assertGt(underlyingBalanceAfterRedeem, underlyingBalance, "Redeem not profitable"); + uint256 redeemProfit = underlyingBalanceAfterRedeem - underlyingBalance; + + // exercise options tokens -> zap + params = DiscountExerciseParams({maxPaymentAmount: expectedPaymentAmount, deadline: type(uint256).max, isInstantExit: true}); + (paymentAmount,,,) = optionsToken.exercise(amount, address(this), address(exerciser), abi.encode(params)); + + uint256 underlyingBalanceAfterZap = + IERC20(underlyingToken).balanceOf(address(this)) + paymentToken.balanceOf(address(this)).divWadUp(oracle.getPrice()); + console.log("Price: ", oracle.getPrice()); + console.log("Underlying amount after zap: ", IERC20(underlyingToken).balanceOf(address(this))); + console.log("Balance after zap: ", underlyingBalanceAfterZap); + + assertGt(underlyingBalanceAfterZap, underlyingBalanceAfterRedeem, "Zap not profitable"); + uint256 zapProfit = underlyingBalanceAfterZap - underlyingBalanceAfterRedeem; + + assertGt(redeemProfit, zapProfit, "Profits from zap is greater than profits from redeem"); + + assertEq(redeemProfit - redeemProfit.mulDivUp(INSTANT_EXIT_FEE, BPS_DENOM), zapProfit, "Zap profit is different than redeem profit minus fee"); + } } diff --git a/test/UniswapV3Oracle.t.sol b/test/UniswapV3Oracle.t.sol index 794f103..afec76f 100644 --- a/test/UniswapV3Oracle.t.sol +++ b/test/UniswapV3Oracle.t.sol @@ -47,9 +47,11 @@ contract UniswapOracleTest is Test { Params _default; function setUp() public { + opFork = vm.createSelectFork(OPTIMISM_RPC_URL, FORK_BLOCK); mockV3Pool = new MockUniswapPool(); mockV3Pool.setCumulatives(sampleCumulatives); mockV3Pool.setToken0(OP_ADDRESS); + mockV3Pool.setToken1(WETH_ADDRESS); _default = Params(IUniswapV3Pool(WETH_OP_POOL_ADDRESS), OP_ADDRESS, address(this), 30 minutes, 0, 1000); swapRouter = ISwapRouter(SWAP_ROUTER_ADDRESS); @@ -59,33 +61,15 @@ contract UniswapOracleTest is Test { /// Mock tests /// ---------------------------------------------------------------------- - function test_PriceToken0() public { - UniswapV3Oracle oracle = new UniswapV3Oracle( - mockV3Pool, - OP_ADDRESS, - _default.owner, - _default.secs, - _default.ago, - _default.minPrice - ); + function test_PriceTokens() public { + UniswapV3Oracle oracle0 = new UniswapV3Oracle(mockV3Pool, OP_ADDRESS, _default.owner, _default.secs, _default.ago, _default.minPrice); + UniswapV3Oracle oracle1 = new UniswapV3Oracle(mockV3Pool, WETH_ADDRESS, _default.owner, _default.secs, _default.ago, _default.minPrice); - uint256 price = oracle.getPrice(); - assertEq(price, expectedPriceToken0); - } - - function test_PriceToken1() public { - UniswapV3Oracle oracle = new UniswapV3Oracle( - mockV3Pool, - address(0), - _default.owner, - _default.secs, - _default.ago, - _default.minPrice - ); - - uint256 price = oracle.getPrice(); - uint256 expectedPriceToken1 = price = FixedPointMathLib.divWadUp(1e18, price); - assertEq(price, expectedPriceToken1); + uint256 price0 = oracle0.getPrice(); + uint256 price1 = oracle1.getPrice(); + assertEq(price0, expectedPriceToken0); + uint256 expectedPriceToken1 = FixedPointMathLib.divWadDown(1e18, price0); + assertEq(price1, expectedPriceToken1); //precision } /// ---------------------------------------------------------------------- @@ -93,16 +77,7 @@ contract UniswapOracleTest is Test { /// ---------------------------------------------------------------------- function test_priceWithinAcceptableRange() public { - opFork = vm.createSelectFork(OPTIMISM_RPC_URL, FORK_BLOCK); - - UniswapV3Oracle oracle = new UniswapV3Oracle( - _default.pool, - _default.token, - _default.owner, - _default.secs, - _default.ago, - _default.minPrice - ); + UniswapV3Oracle oracle = new UniswapV3Oracle(_default.pool, _default.token, _default.owner, _default.secs, _default.ago, _default.minPrice); uint256 oraclePrice = oracle.getPrice(); @@ -112,16 +87,7 @@ contract UniswapOracleTest is Test { } function test_revertMinPrice() public { - opFork = vm.createSelectFork(OPTIMISM_RPC_URL, FORK_BLOCK); - - UniswapV3Oracle oracle = new UniswapV3Oracle( - _default.pool, - _default.token, - _default.owner, - _default.secs, - _default.ago, - _default.minPrice - ); + UniswapV3Oracle oracle = new UniswapV3Oracle(_default.pool, _default.token, _default.owner, _default.secs, _default.ago, _default.minPrice); skip(_default.secs); @@ -143,14 +109,8 @@ contract UniswapOracleTest is Test { swapRouter.exactInputSingle(paramsIn); // deploy a new oracle with a minPrice that is too high - UniswapV3Oracle oracleMinPrice = new UniswapV3Oracle( - _default.pool, - _default.token, - _default.owner, - _default.secs, - _default.ago, - uint128(price) - ); + UniswapV3Oracle oracleMinPrice = + new UniswapV3Oracle(_default.pool, _default.token, _default.owner, _default.secs, _default.ago, uint128(price)); skip(_default.secs); @@ -159,16 +119,7 @@ contract UniswapOracleTest is Test { } function test_singleBlockManipulation() public { - opFork = vm.createSelectFork(OPTIMISM_RPC_URL, FORK_BLOCK); - - UniswapV3Oracle oracle = new UniswapV3Oracle( - _default.pool, - _default.token, - _default.owner, - _default.secs, - _default.ago, - _default.minPrice - ); + UniswapV3Oracle oracle = new UniswapV3Oracle(_default.pool, _default.token, _default.owner, _default.secs, _default.ago, _default.minPrice); address manipulator = makeAddr("manipulator"); deal(OP_ADDRESS, manipulator, 1000000 ether); @@ -200,16 +151,8 @@ contract UniswapOracleTest is Test { function test_priceManipulation(uint256 skipTime) public { skipTime = bound(skipTime, 1, _default.secs); - opFork = vm.createSelectFork(OPTIMISM_RPC_URL, FORK_BLOCK); - UniswapV3Oracle oracle = new UniswapV3Oracle( - _default.pool, - _default.token, - _default.owner, - _default.secs, - _default.ago, - _default.minPrice - ); + UniswapV3Oracle oracle = new UniswapV3Oracle(_default.pool, _default.token, _default.owner, _default.secs, _default.ago, _default.minPrice); address manipulator = makeAddr("manipulator"); deal(OP_ADDRESS, manipulator, 1000000 ether); diff --git a/test/mocks/MockUniswapPool.sol b/test/mocks/MockUniswapPool.sol index 42cd0ba..9ef5cd4 100644 --- a/test/mocks/MockUniswapPool.sol +++ b/test/mocks/MockUniswapPool.sol @@ -6,6 +6,7 @@ import {IUniswapV3Pool} from "v3-core/interfaces/IUniswapV3Pool.sol"; contract MockUniswapPool is IUniswapV3Pool { int56[2] cumulatives; address public token0; + address public token1; function setCumulatives(int56[2] memory value) external { cumulatives = value; @@ -15,6 +16,10 @@ contract MockUniswapPool is IUniswapV3Pool { token0 = value; } + function setToken1(address value) external { + token1 = value; + } + function observe(uint32[] calldata secondsAgos) external view @@ -39,8 +44,6 @@ contract MockUniswapPool is IUniswapV3Pool { function factory() external view override returns (address) {} - function token1() external view override returns (address) {} - function fee() external view override returns (uint24) {} function tickSpacing() external view override returns (int24) {} From 70887207c11685b91819f1c5560cc140cfd743cb Mon Sep 17 00:00:00 2001 From: xRave110 Date: Fri, 5 Jul 2024 12:53:50 +0200 Subject: [PATCH 10/10] Checklist update --- README.md | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9548b78..60a8568 100644 --- a/README.md +++ b/README.md @@ -52,4 +52,36 @@ forge build ``` forge test -``` \ No newline at end of file +``` + +### Checklist + +#### Internal Audit Checklist + +- [x] All functionality that touches funds can be paused +- [ ] Pause function called by 2/7 Guardian +- [ ] Guardian has 7 members globally dispersed +- [x] Arithmetic errors +- [x] Re-entrancy +- [x] Flashloans +- [x] Access Control +- [x] Unchecked External Calls +- [ ] Account abstraction/multicall issues +- [x] USE SLITHER + +#### Pre-deployment Checklist + +- [x] Contracts pass all tests +- [x] Contracts deployed to testnet +- [x] Does this deployment have access to funds, either directly or indirectly (zappers, leveragers, etc.)? + +Minimum security if Yes: + +- [x] Internal Audit (not the author, minimum 1x Junior review + minimum 1x Senior review) +- [x] External Audit (impact scope) + +Action items in support of deployment: + +- [ ] Minimum two people present for deployment +- [ ] All developers who worked on and reviewed the contract should be included in the readme +- [ ] Documentation of deployment procedure if non-standard (i.e. if multiple scripts are necessary) \ No newline at end of file