From 75af7d6040be76342c2c30da05ae8a0bfdd39232 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Fri, 21 Feb 2020 16:59:17 +0200 Subject: [PATCH 1/8] Added past public keys --- contracts/GroupsData.sol | 42 +++++++++++++--------------- test/Pricing.ts | 8 +++++- test/SchainsData.ts | 8 +++++- test/SkaleVerifier.ts | 9 +++++- test/ValidatorsFunctionality.spec.ts | 7 +++++ 5 files changed, 48 insertions(+), 26 deletions(-) diff --git a/contracts/GroupsData.sol b/contracts/GroupsData.sol index edd329935..dec881b0f 100644 --- a/contracts/GroupsData.sol +++ b/contracts/GroupsData.sol @@ -17,7 +17,8 @@ along with SKALE Manager. If not, see . */ -pragma solidity ^0.5.0; +pragma solidity ^0.5.3; +pragma experimental ABIEncoderV2; import "./Permissions.sol"; import "./interfaces/IGroupsData.sol"; @@ -53,6 +54,8 @@ contract GroupsData is IGroupsData, Permissions { // contain all groups mapping (bytes32 => Group) public groups; + // past groups common BLS public keys + mapping (bytes32 => uint[4][]) public previousPublicKeys; // mapping for checking Has Node already joined to the group mapping (bytes32 => GroupCheck) exceptions; @@ -80,7 +83,7 @@ contract GroupsData is IGroupsData, Permissions { groups[groupIndex].recommendedNumberOfNodes = amountOfNodes; groups[groupIndex].groupData = data; // Open channel in SkaleDKG - address skaleDKGAddress = contractManager.contracts(keccak256(abi.encodePacked("SkaleDKG"))); + address skaleDKGAddress = contractManager.getContract("SkaleDKG"); ISkaleDKG(skaleDKGAddress).openChannel(groupIndex); } @@ -110,6 +113,10 @@ contract GroupsData is IGroupsData, Permissions { uint publicKeyx2, uint publicKeyy2) external allow("SkaleDKG") { + if (!isPublicKeyZero(groupIndex)) { + uint[4] memory previousKey = groups[groupIndex].groupsPublicKey; + previousPublicKeys[groupIndex].push(previousKey); + } groups[groupIndex].groupsPublicKey[0] = publicKeyx1; groups[groupIndex].groupsPublicKey[1] = publicKeyy1; groups[groupIndex].groupsPublicKey[2] = publicKeyx2; @@ -161,26 +168,6 @@ contract GroupsData is IGroupsData, Permissions { groups[groupIndex].nodesInGroup = nodesInGroup; } - // /** - // * @dev setNewAmountOfNodes - set new recommended number of Nodes - // * function could be run only by executor - // * @param groupIndex - Groups identifier - // * @param amountOfNodes - recommended number of Nodes in this Group - // */ - // function setNewAmountOfNodes(bytes32 groupIndex, uint amountOfNodes) external allow(executorName) { - // groups[groupIndex].recommendedNumberOfNodes = amountOfNodes; - // } - - // /** - // * @dev setNewGroupData - set new extra data - // * function could be run only be executor - // * @param groupIndex - Groups identifier - // * @param data - new extra data - // */ - // function setNewGroupData(bytes32 groupIndex, bytes32 data) external allow(executorName) { - // groups[groupIndex].groupData = data; - // } - function setGroupFailedDKG(bytes32 groupIndex) external allow("SkaleDKG") { groups[groupIndex].succesfulDKG = false; } @@ -194,10 +181,12 @@ contract GroupsData is IGroupsData, Permissions { groups[groupIndex].active = false; delete groups[groupIndex].groupData; delete groups[groupIndex].recommendedNumberOfNodes; + uint[4] memory previousKey = groups[groupIndex].groupsPublicKey; + previousPublicKeys[groupIndex].push(previousKey); delete groups[groupIndex].groupsPublicKey; delete groups[groupIndex]; // delete channel - address skaleDKGAddress = contractManager.contracts(keccak256(abi.encodePacked("SkaleDKG"))); + address skaleDKGAddress = contractManager.getContract("SkaleDKG"); if (ISkaleDKG(skaleDKGAddress).isChannelOpened(groupIndex)) { ISkaleDKG(skaleDKGAddress).deleteChannel(groupIndex); @@ -285,4 +274,11 @@ contract GroupsData is IGroupsData, Permissions { function getNumberOfNodesInGroup(bytes32 groupIndex) external view returns (uint) { return groups[groupIndex].nodesInGroup.length; } + + function isPublicKeyZero(bytes32 groupIndex) internal view returns (bool) { + return groups[groupIndex].groupsPublicKey[0] == 0 && + groups[groupIndex].groupsPublicKey[1] == 0 && + groups[groupIndex].groupsPublicKey[2] == 0 && + groups[groupIndex].groupsPublicKey[3] == 0; + } } diff --git a/test/Pricing.ts b/test/Pricing.ts index e36325f72..0b2303237 100644 --- a/test/Pricing.ts +++ b/test/Pricing.ts @@ -12,7 +12,9 @@ import { ContractManagerContract, SchainsDataContract, SchainsDataInstance, SkaleDKGContract, - SkaleDKGInstance } from "../types/truffle-contracts"; + SkaleDKGInstance, + StringUtilsContract, + StringUtilsInstance } from "../types/truffle-contracts"; import { skipTime } from "./utils/time"; const ContractManager: ContractManagerContract = artifacts.require("./ContractManager"); @@ -20,6 +22,7 @@ const Pricing: PricingContract = artifacts.require("./Pricing"); const SchainsData: SchainsDataContract = artifacts.require("./SchainsData"); const NodesData: NodesDataContract = artifacts.require("./NodesData"); const SkaleDKG: SkaleDKGContract = artifacts.require("./SkaleDKG"); +const StringUtils: StringUtilsContract = artifacts.require("./StringUtils"); chai.should(); chai.use(chaiAsPromised); @@ -30,6 +33,7 @@ contract("Pricing", ([owner, holder]) => { let schainsData: SchainsDataInstance; let nodesData: NodesDataInstance; let skaleDKG: SkaleDKGInstance; + let stringUtils: StringUtilsInstance; beforeEach(async () => { contractManager = await ContractManager.new({from: owner}); @@ -43,6 +47,8 @@ contract("Pricing", ([owner, holder]) => { await contractManager.setContractsAddress("NodesData", nodesData.address); skaleDKG = await SkaleDKG.new(contractManager.address, {from: owner}); await contractManager.setContractsAddress("SkaleDKG", skaleDKG.address); + stringUtils = await StringUtils.new(); + await contractManager.setContractsAddress("StringUtils", stringUtils.address); }); describe("on initialized contracts", async () => { diff --git a/test/SchainsData.ts b/test/SchainsData.ts index 302d4bc01..7f1754224 100644 --- a/test/SchainsData.ts +++ b/test/SchainsData.ts @@ -3,11 +3,14 @@ import { ContractManagerContract, SchainsDataContract, SchainsDataInstance, SkaleDKGContract, - SkaleDKGInstance } from "../types/truffle-contracts"; + SkaleDKGInstance, + StringUtilsContract, + StringUtilsInstance } from "../types/truffle-contracts"; const ContractManager: ContractManagerContract = artifacts.require("./ContractManager"); const SchainsData: SchainsDataContract = artifacts.require("./SchainsData"); const SkaleDKG: SkaleDKGContract = artifacts.require("./SkaleDKG"); +const StringUtils: StringUtilsContract = artifacts.require("./StringUtils"); import BigNumber from "bignumber.js"; import chai = require("chai"); @@ -43,6 +46,7 @@ contract("SchainsData", ([owner, holder]) => { let contractManager: ContractManagerInstance; let schainsData: SchainsDataInstance; let skaleDKG: SkaleDKGInstance; + let stringUtils: StringUtilsInstance; beforeEach(async () => { contractManager = await ContractManager.new({from: owner}); @@ -50,6 +54,8 @@ contract("SchainsData", ([owner, holder]) => { await contractManager.setContractsAddress("SchainsData", schainsData.address, {from: owner}); skaleDKG = await SkaleDKG.new(contractManager.address, {from: owner}); await contractManager.setContractsAddress("SkaleDKG", skaleDKG.address, {from: owner}); + stringUtils = await StringUtils.new(); + await contractManager.setContractsAddress("StringUtils", stringUtils.address); }); it("should initialize schain", async () => { diff --git a/test/SkaleVerifier.ts b/test/SkaleVerifier.ts index c7b0989a3..52eef41be 100644 --- a/test/SkaleVerifier.ts +++ b/test/SkaleVerifier.ts @@ -21,7 +21,9 @@ import { ConstantsHolderContract, SkaleDKGContract, SkaleDKGInstance, SkaleVerifierContract, - SkaleVerifierInstance} from "../types/truffle-contracts"; + SkaleVerifierInstance, + StringUtilsContract, + StringUtilsInstance} from "../types/truffle-contracts"; import { gasMultiplier } from "./utils/command_line"; import { skipTime } from "./utils/time"; @@ -37,6 +39,7 @@ const Decryption: DecryptionContract = artifacts.require("./Decryption"); const ECDH: ECDHContract = artifacts.require("./ECDH"); const SkaleVerifier: SkaleVerifierContract = artifacts.require("./SkaleVerifier"); const SkaleDKG: SkaleDKGContract = artifacts.require("./SkaleDKG"); +const StringUtils: StringUtilsContract = artifacts.require("./StringUtils"); import BigNumber from "bignumber.js"; chai.should(); @@ -54,6 +57,7 @@ contract("SkaleVerifier", ([validator1, owner, developer, hacker]) => { let ecdh: ECDHInstance; let skaleVerifier: SkaleVerifierInstance; let skaleDKG: SkaleDKGInstance; + let stringUtils: StringUtilsInstance; beforeEach(async () => { contractManager = await ContractManager.new({from: validator1}); @@ -107,6 +111,9 @@ contract("SkaleVerifier", ([validator1, owner, developer, hacker]) => { {from: validator1}, ); await contractManager.setContractsAddress("SkaleVerifier", skaleVerifier.address, {from: validator1}); + + stringUtils = await StringUtils.new(); + await contractManager.setContractsAddress("StringUtils", stringUtils.address); }); describe("when skaleVerifier contract is activated", async () => { diff --git a/test/ValidatorsFunctionality.spec.ts b/test/ValidatorsFunctionality.spec.ts index 0782c8a45..348a3945b 100644 --- a/test/ValidatorsFunctionality.spec.ts +++ b/test/ValidatorsFunctionality.spec.ts @@ -10,6 +10,8 @@ import { NodesFunctionalityInstance, SkaleDKGContract, SkaleDKGInstance, + StringUtilsContract, + StringUtilsInstance, ValidatorsDataContract, ValidatorsDataInstance, ValidatorsFunctionalityContract, @@ -30,6 +32,7 @@ const ValidatorsData: ValidatorsDataContract = artifacts.require("./ValidatorsDa const NodesData: NodesDataContract = artifacts.require("./NodesData"); const NodesFunctionality: NodesFunctionalityContract = artifacts.require("./NodesFunctionality"); const SkaleDKG: SkaleDKGContract = artifacts.require("./SkaleDKG"); +const StringUtils: StringUtilsContract = artifacts.require("./StringUtils"); contract("ValidatorsFunctionality", ([owner, validator]) => { let contractManager: ContractManagerInstance; @@ -39,6 +42,7 @@ contract("ValidatorsFunctionality", ([owner, validator]) => { let nodesData: NodesDataInstance; let nodesFunctionality: NodesFunctionalityInstance; let skaleDKG: SkaleDKGInstance; + let stringUtils: StringUtilsInstance; beforeEach(async () => { contractManager = await ContractManager.new({from: owner}); @@ -70,6 +74,9 @@ contract("ValidatorsFunctionality", ([owner, validator]) => { skaleDKG = await SkaleDKG.new(contractManager.address, {from: owner}); await contractManager.setContractsAddress("SkaleDKG", skaleDKG.address); + stringUtils = await StringUtils.new(); + await contractManager.setContractsAddress("StringUtils", stringUtils.address); + // create a node for validators functions tests await nodesData.addNode(validator, "elvis1", "0x7f000001", "0x7f000002", 8545, "0x1122334455"); await nodesData.addNode(validator, "elvis2", "0x7f000003", "0x7f000004", 8545, "0x1122334456"); From 261a8a5bcc67d37a3e2e27cb1576e92df38b8656 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Fri, 21 Feb 2020 18:37:44 +0200 Subject: [PATCH 2/8] Added block to schain --- contracts/SchainsData.sol | 2 ++ test/SchainsData.ts | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/contracts/SchainsData.sol b/contracts/SchainsData.sol index 1e8edffdb..8600a2d86 100644 --- a/contracts/SchainsData.sol +++ b/contracts/SchainsData.sol @@ -35,6 +35,7 @@ contract SchainsData is GroupsData { uint8 partOfNode; uint lifetime; uint32 startDate; + uint startBlock; uint deposit; uint64 index; } @@ -72,6 +73,7 @@ contract SchainsData is GroupsData { schains[schainId].name = name; schains[schainId].owner = from; schains[schainId].startDate = uint32(block.timestamp); + schains[schainId].startBlock = block.number; schains[schainId].lifetime = lifetime; schains[schainId].deposit = deposit; schains[schainId].index = numberOfSchains; diff --git a/test/SchainsData.ts b/test/SchainsData.ts index 89cb26661..adc2b5568 100644 --- a/test/SchainsData.ts +++ b/test/SchainsData.ts @@ -18,18 +18,22 @@ class Schain { public partOfNode: number; public lifetime: BigNumber; public startDate: BigNumber; + public startBlock: BigNumber; public deposit: BigNumber; public index: BigNumber; - constructor(arrayData: [string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber]) { + constructor( + arrayData: [string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber], + ) { this.name = arrayData[0]; this.owner = arrayData[1]; this.indexInOwnerList = new BigNumber(arrayData[2]); this.partOfNode = new BigNumber(arrayData[3]).toNumber(); this.lifetime = new BigNumber(arrayData[4]); this.startDate = new BigNumber(arrayData[5]); - this.deposit = new BigNumber(arrayData[6]); - this.index = new BigNumber(arrayData[7]); + this.startBlock = new BigNumber(arrayData[6]); + this.deposit = new BigNumber(arrayData[7]); + this.index = new BigNumber(arrayData[8]); } } From f9762b67aa8a70f00ddaa6b7de2a61cff84b6096 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Tue, 25 Feb 2020 16:29:28 +0200 Subject: [PATCH 3/8] Added skale balances filling --- contracts/GroupsData.sol | 2 +- contracts/SkaleToken.sol | 2 +- migrations/1_deploy_skale_manager_system.js | 12 +++++++++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/contracts/GroupsData.sol b/contracts/GroupsData.sol index 8068c49cb..039e62d82 100644 --- a/contracts/GroupsData.sol +++ b/contracts/GroupsData.sol @@ -265,7 +265,7 @@ contract GroupsData is IGroupsData, Permissions { function getNumberOfNodesInGroup(bytes32 groupIndex) external view returns (uint) { return groups[groupIndex].nodesInGroup.length; } - + /** * @dev constructor in Permissions approach * @param newExecutorName - name of executor contract diff --git a/contracts/SkaleToken.sol b/contracts/SkaleToken.sol index b71c3b249..373d8fe16 100644 --- a/contracts/SkaleToken.sol +++ b/contracts/SkaleToken.sol @@ -46,7 +46,7 @@ contract SkaleToken is LockableERC777, Permissions, IDelegatableToken { Permissions.initialize(contractsAddress); // TODO remove after testing - uint money = 1e7 * 10 ** DECIMALS; + uint money = 5e9 * 10 ** DECIMALS; _mint( address(0), address(msg.sender), diff --git a/migrations/1_deploy_skale_manager_system.js b/migrations/1_deploy_skale_manager_system.js index 10606882e..6272246c8 100644 --- a/migrations/1_deploy_skale_manager_system.js +++ b/migrations/1_deploy_skale_manager_system.js @@ -134,13 +134,19 @@ async function deploy(deployer, networkName, accounts) { console.log("Contract", contract, "with address", address, "is registered in Contract Manager"); }); } - - console.log("Done"); - await deployer.deploy(SkaleToken, contractManager.address, [], {gas: gasLimit * gas_multiplier}); + let skaleTokenInst = await deployer.deploy(SkaleToken, contractManager.address, [], {gas: gasLimit * gas_multiplier}).then(async function(inst) { + return inst; + }); await contractManager.methods.setContractsAddress("SkaleToken", SkaleToken.address).send({from: deployAccount}).then(function(res) { console.log("Contract Skale Token with address", SkaleToken.address, "registred in Contract Manager"); }); + + await skaleTokenInst.send( + deployed.get("SkaleBalances").address, + "1000000000000000000000000000", + "0x000000000000000000000000" + deployed.get("SkaleManager").address.slice(2) + ); console.log('Deploy done, writing results...'); From 714311aa9ce04ef1d804ddb04d934d966618294d Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Tue, 25 Feb 2020 18:20:34 +0200 Subject: [PATCH 4/8] Removed slither results --- .vscode/slither-results.json | 103291 -------------------------------- 1 file changed, 103291 deletions(-) delete mode 100644 .vscode/slither-results.json diff --git a/.vscode/slither-results.json b/.vscode/slither-results.json deleted file mode 100644 index 18bfbff9f..000000000 --- a/.vscode/slither-results.json +++ /dev/null @@ -1,103291 +0,0 @@ -[ - { - "elements": [ - { - "type": "function", - "name": "getDataFromBytes", - "source_mapping": { - "start": 14760, - "length": 455, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "f97e0efabd6ca270b5cce023d4876ab8" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getDataFromBytes(bytes32)" - } - } - ], - "description": "ValidatorsFunctionality.getDataFromBytes(bytes32) (ValidatorsFunctionality.sol#341-352) is declared view but contains assembly code\n", - "markdown": "[ValidatorsFunctionality.getDataFromBytes(bytes32)](contracts/ValidatorsFunctionality.sol#L341-L352) is declared view but contains assembly code\n", - "id": "ba5a4957bad4a28bc08ec7126bfa97e2e1dc17420f46fcaef4385c6818c28a0c", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getDataToBytes", - "source_mapping": { - "start": 15221, - "length": 889, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "be8dc199d4d5f07a24356f92d51f767c" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getDataToBytes(uint256)" - } - } - ], - "description": "ValidatorsFunctionality.getDataToBytes(uint256) (ValidatorsFunctionality.sol#354-369) is declared view but contains assembly code\n", - "markdown": "[ValidatorsFunctionality.getDataToBytes(uint256)](contracts/ValidatorsFunctionality.sol#L354-L369) is declared view but contains assembly code\n", - "id": "f60c405446b997bc72882d2982d4e137af497a22af99ab8a2b75fbb6e9f2c276", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "encrypt", - "source_mapping": { - "start": 53, - "length": 368, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "92a1ec5266b3ece254aaacd0a5a04bc4" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Decryption", - "source_mapping": { - "start": 26, - "length": 793, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "encrypt(uint256,bytes32)" - } - } - ], - "description": "Decryption.encrypt(uint256,bytes32) (Decryption.sol#6-15) is declared view but contains assembly code\n", - "markdown": "[Decryption.encrypt(uint256,bytes32)](contracts/Decryption.sol#L6-L15) is declared view but contains assembly code\n", - "id": "031f5f11621fa2a1237cd21f836ae7ac21a6294481d2836a22ad248dc4baa70f", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "decrypt", - "source_mapping": { - "start": 427, - "length": 390, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "65bc4ef577e14fd9f125fef617fc9065" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Decryption", - "source_mapping": { - "start": 26, - "length": 793, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "decrypt(bytes32,bytes32)" - } - } - ], - "description": "Decryption.decrypt(bytes32,bytes32) (Decryption.sol#17-27) is declared view but contains assembly code\n", - "markdown": "[Decryption.decrypt(bytes32,bytes32)](contracts/Decryption.sol#L17-L27) is declared view but contains assembly code\n", - "id": "278bc6efcaf6d2b68bb2eb321ee026a41aa04195545ca3f8c77d3f5ea73062a8", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "decryptMessage", - "source_mapping": { - "start": 13020, - "length": 795, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "9cee1612dd674a334d62e36ac6beaa7f" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "decryptMessage(bytes32,uint256)" - } - } - ], - "description": "SkaleDKG.decryptMessage(bytes32,uint256) (SkaleDKG.sol#354-370) is declared view but contains assembly code\n", - "markdown": "[SkaleDKG.decryptMessage(bytes32,uint256)](contracts/SkaleDKG.sol#L354-L370) is declared view but contains assembly code\n", - "id": "e08ffa489043f4f5bbe7a7e81b089dd53632410af12cb354df144d9a366de692", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bigModExp", - "source_mapping": { - "start": 22129, - "length": 563, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "ddfdb2c8afb71aceb90c03402c3c4177" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bigModExp(uint256,uint256)" - } - } - ], - "description": "SkaleDKG.bigModExp(uint256,uint256) (SkaleDKG.sol#633-648) is declared view but contains assembly code\n", - "markdown": "[SkaleDKG.bigModExp(uint256,uint256)](contracts/SkaleDKG.sol#L633-L648) is declared view but contains assembly code\n", - "id": "74f0a9754a526cfef4f69a078dd30fdfbf0c6408f11548e72b8324becdb4536e", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "loop", - "source_mapping": { - "start": 22698, - "length": 952, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "a3fca275581b4ad18ec1029cd66d7cfd" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loop(uint256,bytes,uint256)" - } - } - ], - "description": "SkaleDKG.loop(uint256,bytes,uint256) (SkaleDKG.sol#650-674) is declared view but contains assembly code\n", - "markdown": "[SkaleDKG.loop(uint256,bytes,uint256)](contracts/SkaleDKG.sol#L650-L674) is declared view but contains assembly code\n", - "id": "af0a2f57aebbc89b1e374ec01aa3367e1307ae883eabd15dcf04c71d8979c60b", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "checkCorrectMultipliedShare", - "source_mapping": { - "start": 24646, - "length": 1638, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "89a9b444686ed11ba9b299e4464d3e46" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "checkCorrectMultipliedShare(bytes,uint256)" - } - } - ], - "description": "SkaleDKG.checkCorrectMultipliedShare(bytes,uint256) (SkaleDKG.sol#701-744) is declared view but contains assembly code\n", - "markdown": "[SkaleDKG.checkCorrectMultipliedShare(bytes,uint256)](contracts/SkaleDKG.sol#L701-L744) is declared view but contains assembly code\n", - "id": "264c6a1fa84dd2ee9ecf859914e3816d0e14c0c8eddd49d2788e4ce8e2d81ca6", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bytesToPublicKey", - "source_mapping": { - "start": 26290, - "length": 303, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "a08c9cebcdea170a3df8dab679ea4b12" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bytesToPublicKey(bytes)" - } - } - ], - "description": "SkaleDKG.bytesToPublicKey(bytes) (SkaleDKG.sol#746-756) is declared view but contains assembly code\n", - "markdown": "[SkaleDKG.bytesToPublicKey(bytes)](contracts/SkaleDKG.sol#L746-L756) is declared view but contains assembly code\n", - "id": "719382738f62bfce6bb264143194a90efc3f8314342de4b0c1f5c071d9c3be48", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bytesToG2", - "source_mapping": { - "start": 26599, - "length": 477, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "c0b870b455fe77f333a6f05f0eb245c5" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bytesToG2(bytes)" - } - } - ], - "description": "SkaleDKG.bytesToG2(bytes) (SkaleDKG.sol#758-772) is declared view but contains assembly code\n", - "markdown": "[SkaleDKG.bytesToG2(bytes)](contracts/SkaleDKG.sol#L758-L772) is declared view but contains assembly code\n", - "id": "59293da6cd23aeea0b84d8f02513f13d94670f0a59a562d5a73ef8121443bff2", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "fallbackDataConverter", - "source_mapping": { - "start": 11653, - "length": 643, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "d9a2b6ee0ca2ab0a5889f469aae9de19" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "fallbackDataConverter(bytes)" - } - } - ], - "description": "NodesFunctionality.fallbackDataConverter(bytes) (NodesFunctionality.sol#292-311) is declared view but contains assembly code\n", - "markdown": "[NodesFunctionality.fallbackDataConverter(bytes)](contracts/NodesFunctionality.sol#L292-L311) is declared view but contains assembly code\n", - "id": "d6ee43cff806f444281b612d6d2d0084531bf3559dc31b196c10d4cdc7252da8", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "fallbackDataConverterPublicKeyAndName", - "source_mapping": { - "start": 12526, - "length": 917, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "6e72f5454f2765f7c6854afa011ad62c" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "fallbackDataConverterPublicKeyAndName(bytes)" - } - } - ], - "description": "NodesFunctionality.fallbackDataConverterPublicKeyAndName(bytes) (NodesFunctionality.sol#319-343) is declared view but contains assembly code\n", - "markdown": "[NodesFunctionality.fallbackDataConverterPublicKeyAndName(bytes)](contracts/NodesFunctionality.sol#L319-L343) is declared view but contains assembly code\n", - "id": "d5fe9ccfba0b5242e8c7657285cca4c0ef4bebb4c566e8cc64b7a1b5e8d03c08", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "fallbackSchainParametersDataConverter", - "source_mapping": { - "start": 11328, - "length": 889, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "0cdfe07cb8f93f5c0a005c9c7c779966" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fallbackSchainParametersDataConverter(bytes)" - } - } - ], - "description": "SchainsFunctionality.fallbackSchainParametersDataConverter(bytes) (SchainsFunctionality.sol#260-279) is declared view but contains assembly code\n", - "markdown": "[SchainsFunctionality.fallbackSchainParametersDataConverter(bytes)](contracts/SchainsFunctionality.sol#L260-L279) is declared view but contains assembly code\n", - "id": "346822a30d0d1325d599d3568c4a628efd1a4dc1efe1dad2793451684f0582b3", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "verify", - "source_mapping": { - "start": 2545, - "length": 1303, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_relative": "contracts/SkaleVerifier.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_short": "SkaleVerifier.sol", - "is_dependency": false, - "lines": [ - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "936210f9f0921e2146341a92c3e61abc" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleVerifier", - "source_mapping": { - "start": 882, - "length": 3473, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_relative": "contracts/SkaleVerifier.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_short": "SkaleVerifier.sol", - "is_dependency": false, - "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, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 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": "verify(uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" - } - } - ], - "description": "SkaleVerifier.verify(uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256) (SkaleVerifier.sol#84-133) is declared view but contains assembly code\n", - "markdown": "[SkaleVerifier.verify(uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256)](contracts/SkaleVerifier.sol#L84-L133) is declared view but contains assembly code\n", - "id": "16ef5d9c14b9867f15a4b875284c3979b561ce177a15299b75304a71fd32e4c4", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "isContract", - "source_mapping": { - "start": 542, - "length": 413, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_short": "@openzeppelin/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "fc8f8ceec88962ce3d6ac21c43903021" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 94, - "length": 863, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_short": "@openzeppelin/contracts/utils/Address.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isContract(address)" - } - } - ], - "description": "Address.isContract(address) (@openzeppelin/contracts/utils/Address.sol#17-26) is declared view but contains assembly code\n", - "markdown": "[Address.isContract(address)](node_modules/@openzeppelin/contracts/utils/Address.sol#L17-L26) is declared view but contains assembly code\n", - "id": "90bb828a17b53e2e44600569c669a9a94ec7afce835d0951a32ba9da37658a6b", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "fallbackOperationTypeConvert", - "source_mapping": { - "start": 11873, - "length": 610, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "a006d575d0c8aab2a26be618774c2b9e" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleManager", - "source_mapping": { - "start": 1284, - "length": 11202, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fallbackOperationTypeConvert(bytes)" - } - } - ], - "description": "SkaleManager.fallbackOperationTypeConvert(bytes) (SkaleManager.sol#247-259) is declared view but contains assembly code\n", - "markdown": "[SkaleManager.fallbackOperationTypeConvert(bytes)](contracts/SkaleManager.sol#L247-L259) is declared view but contains assembly code\n", - "id": "15f57eb6792438f26c00e032fa9c2d63985aa392feccbde7ba7230164ed459b9", - "additional_fields": { - "contains_assembly": true - }, - "check": "constant-function", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "allright", - "source_mapping": { - "start": 8744, - "length": 1333, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "5186b8060978e273d1d5097b62c36dcc" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allright(bytes32,uint256)" - } - }, - { - "type": "node", - "name": "require(bool,string)(IGroupsData(channels[groupIndex].dataAddress).setPublicKey(groupIndex,channels[groupIndex].publicKeyx.x,channels[groupIndex].publicKeyx.y,channels[groupIndex].publicKeyy.x,channels[groupIndex].publicKeyy.y),Could not set public key)", - "source_mapping": { - "start": 9634, - "length": 341, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 252, - 253, - 254, - 255, - 256, - 257, - 258 - ], - "starting_column": 13, - "ending_column": 43, - "_ext_source_hash": "4dfbf478f9b7252a55ac7eb6c6764200" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "allright", - "source_mapping": { - "start": 8744, - "length": 1333, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allright(bytes32,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "delete channels[groupIndex]", - "source_mapping": { - "start": 9989, - "length": 27, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 259 - ], - "starting_column": 13, - "ending_column": 40, - "_ext_source_hash": "e103969ee75cdfeb28dd609961584ded" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "allright", - "source_mapping": { - "start": 8744, - "length": 1333, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allright(bytes32,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "channels" - } - } - ], - "description": "Reentrancy in SkaleDKG.allright(bytes32,uint256) (SkaleDKG.sol#238-262):\n\tExternal calls:\n\t- require(bool,string)(IGroupsData(channels[groupIndex].dataAddress).setPublicKey(groupIndex,channels[groupIndex].publicKeyx.x,channels[groupIndex].publicKeyx.y,channels[groupIndex].publicKeyy.x,channels[groupIndex].publicKeyy.y),Could not set public key) (SkaleDKG.sol#252-258)\n\tState variables written after the call(s):\n\t- SkaleDKG.channels (SkaleDKG.sol#82) in delete channels[groupIndex] (SkaleDKG.sol#259)\n", - "markdown": "Reentrancy in [SkaleDKG.allright(bytes32,uint256)](contracts/SkaleDKG.sol#L238-L262):\n\tExternal calls:\n\t- [require(bool,string)(IGroupsData(channels[groupIndex].dataAddress).setPublicKey(groupIndex,channels[groupIndex].publicKeyx.x,channels[groupIndex].publicKeyx.y,channels[groupIndex].publicKeyy.x,channels[groupIndex].publicKeyy.y),Could not set public key)](contracts/SkaleDKG.sol#L252-L258)\n\tState variables written after the call(s):\n\t- [SkaleDKG.channels](contracts/SkaleDKG.sol#L82) in [delete channels[groupIndex]](contracts/SkaleDKG.sol#L259)\n", - "id": "53e98ee1193eea04adb118225139a4db12718a0fe4e588c155211da6131a43af", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "ef75a60c42dbd41fcbbb9de761a24041" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - }, - { - "type": "node", - "name": "IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)", - "source_mapping": { - "start": 6790, - "length": 75, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 186 - ], - "starting_column": 13, - "ending_column": 88, - "_ext_source_hash": "200e0b9d4e343f35da524ac28f26af5e" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "delete channels[groupIndex]", - "source_mapping": { - "start": 6879, - "length": 27, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 187 - ], - "starting_column": 13, - "ending_column": 40, - "_ext_source_hash": "e103969ee75cdfeb28dd609961584ded" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "channels" - } - } - ], - "description": "Reentrancy in SkaleDKG.complaint(bytes32,uint256,uint256) (SkaleDKG.sol#168-197):\n\tExternal calls:\n\t- IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex) (SkaleDKG.sol#186)\n\tState variables written after the call(s):\n\t- SkaleDKG.channels (SkaleDKG.sol#82) in delete channels[groupIndex] (SkaleDKG.sol#187)\n", - "markdown": "Reentrancy in [SkaleDKG.complaint(bytes32,uint256,uint256)](contracts/SkaleDKG.sol#L168-L197):\n\tExternal calls:\n\t- [IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)](contracts/SkaleDKG.sol#L186)\n\tState variables written after the call(s):\n\t- [SkaleDKG.channels](contracts/SkaleDKG.sol#L82) in [delete channels[groupIndex]](contracts/SkaleDKG.sol#L187)\n", - "id": "c914b5e4e6f9629dfaf69e93502d85554187689e317be1b87839f2f162894f97", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "ef75a60c42dbd41fcbbb9de761a24041" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - }, - { - "type": "node", - "name": "IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)", - "source_mapping": { - "start": 7184, - "length": 75, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 193 - ], - "starting_column": 13, - "ending_column": 88, - "_ext_source_hash": "200e0b9d4e343f35da524ac28f26af5e" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "delete channels[groupIndex]", - "source_mapping": { - "start": 7273, - "length": 27, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 194 - ], - "starting_column": 13, - "ending_column": 40, - "_ext_source_hash": "e103969ee75cdfeb28dd609961584ded" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "channels" - } - } - ], - "description": "Reentrancy in SkaleDKG.complaint(bytes32,uint256,uint256) (SkaleDKG.sol#168-197):\n\tExternal calls:\n\t- IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex) (SkaleDKG.sol#193)\n\tState variables written after the call(s):\n\t- SkaleDKG.channels (SkaleDKG.sol#82) in delete channels[groupIndex] (SkaleDKG.sol#194)\n", - "markdown": "Reentrancy in [SkaleDKG.complaint(bytes32,uint256,uint256)](contracts/SkaleDKG.sol#L168-L197):\n\tExternal calls:\n\t- [IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)](contracts/SkaleDKG.sol#L193)\n\tState variables written after the call(s):\n\t- [SkaleDKG.channels](contracts/SkaleDKG.sol#L82) in [delete channels[groupIndex]](contracts/SkaleDKG.sol#L194)\n", - "id": "7e2b394dcfe9ccb0c6df95e2f1fb4dc8e50b7f5d4f467a4ccd408cb2034fe3a1", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "response", - "source_mapping": { - "start": 7363, - "length": 1375, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "0ffbbf7f901b02924e5643828d9c8533" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "response(bytes32,uint256,uint256,bytes)" - } - }, - { - "type": "node", - "name": "IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)", - "source_mapping": { - "start": 8583, - "length": 75, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 233 - ], - "starting_column": 9, - "ending_column": 84, - "_ext_source_hash": "200e0b9d4e343f35da524ac28f26af5e" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "response", - "source_mapping": { - "start": 7363, - "length": 1375, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "response(bytes32,uint256,uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "delete channels[groupIndex]", - "source_mapping": { - "start": 8704, - "length": 27, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 235 - ], - "starting_column": 9, - "ending_column": 36, - "_ext_source_hash": "e103969ee75cdfeb28dd609961584ded" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "response", - "source_mapping": { - "start": 7363, - "length": 1375, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "response(bytes32,uint256,uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "channels" - } - } - ], - "description": "Reentrancy in SkaleDKG.response(bytes32,uint256,uint256,bytes) (SkaleDKG.sol#199-236):\n\tExternal calls:\n\t- IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex) (SkaleDKG.sol#233)\n\tState variables written after the call(s):\n\t- SkaleDKG.channels (SkaleDKG.sol#82) in delete channels[groupIndex] (SkaleDKG.sol#235)\n", - "markdown": "Reentrancy in [SkaleDKG.response(bytes32,uint256,uint256,bytes)](contracts/SkaleDKG.sol#L199-L236):\n\tExternal calls:\n\t- [IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)](contracts/SkaleDKG.sol#L233)\n\tState variables written after the call(s):\n\t- [SkaleDKG.channels](contracts/SkaleDKG.sol#L82) in [delete channels[groupIndex]](contracts/SkaleDKG.sol#L235)\n", - "id": "03521caad03512307c921ab53aa5925d3b0977df6d6133e61876810e6dca84c4", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "upgradeGroup", - "source_mapping": { - "start": 5719, - "length": 689, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "2fa83b82e514a7a4637d542d93f3775d" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GroupsFunctionality", - "source_mapping": { - "start": 1341, - "length": 6381, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "upgradeGroup(bytes32,uint256,bytes32)" - } - }, - { - "type": "node", - "name": "IGroupsData(groupsDataAddress).addGroup(groupIndex,newRecommendedNumberOfNodes,data)", - "source_mapping": { - "start": 6184, - "length": 86, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 173 - ], - "starting_column": 9, - "ending_column": 95, - "_ext_source_hash": "6414368ebd423ad70c8d0ea51d641896" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "upgradeGroup", - "source_mapping": { - "start": 5719, - "length": 689, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GroupsFunctionality", - "source_mapping": { - "start": 1341, - "length": 6381, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "upgradeGroup(bytes32,uint256,bytes32)" - } - } - } - } - ], - "description": "GroupsFunctionality.upgradeGroup(bytes32,uint256,bytes32) (GroupsFunctionality.sol#168-179) ignores return value by IGroupsData(groupsDataAddress).addGroup(groupIndex,newRecommendedNumberOfNodes,data) (GroupsFunctionality.sol#173)\n", - "markdown": "[GroupsFunctionality.upgradeGroup(bytes32,uint256,bytes32)](contracts/GroupsFunctionality.sol#L168-L179) ignores return value by [IGroupsData(groupsDataAddress).addGroup(groupIndex,newRecommendedNumberOfNodes,data)](contracts/GroupsFunctionality.sol#L173)\n", - "id": "1b5fc0c337b5bfedf44e288290172df09aff93cd0fba7934e6b99b4021bc9446", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "interfaceHash", - "source_mapping": { - "start": 2240, - "length": 21, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "is_dependency": true, - "lines": [ - 60 - ], - "starting_column": 55, - "ending_column": 76, - "_ext_source_hash": "95cd6a570ac64f3074eefc48546e6c48" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setInterfaceImplementer", - "source_mapping": { - "start": 2190, - "length": 103, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "is_dependency": true, - "lines": [ - 60 - ], - "starting_column": 5, - "ending_column": 108 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC1820Registry", - "source_mapping": { - "start": 647, - "length": 4100, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.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, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setInterfaceImplementer(address,bytes32,address)" - } - } - } - }, - { - "type": "function", - "name": "interfaceHash", - "source_mapping": { - "start": 3000, - "length": 86, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "is_dependency": true, - "lines": [ - 78 - ], - "starting_column": 5, - "ending_column": 91, - "_ext_source_hash": "32be19bf88a3227e9a1ad07dd6e3e96f" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC1820Registry", - "source_mapping": { - "start": 647, - "length": 4100, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.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, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "interfaceHash(string)" - } - } - ], - "description": "IERC1820Registry.setInterfaceImplementer(address,bytes32,address).interfaceHash (@openzeppelin/contracts/introspection/IERC1820Registry.sol#60) shadows:\n\t- IERC1820Registry.interfaceHash(string) (@openzeppelin/contracts/introspection/IERC1820Registry.sol#78) (function)\n", - "markdown": "[IERC1820Registry.setInterfaceImplementer(address,bytes32,address).interfaceHash](node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol#L60) shadows:\n\t- [IERC1820Registry.interfaceHash(string)](node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol#L78) (function)\n", - "id": "2c40a13ce491d1fc658aab70ab1a16a6aea59e6960cb1af37af8f80bf3e590d9", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "interfaceHash", - "source_mapping": { - "start": 2736, - "length": 21, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "is_dependency": true, - "lines": [ - 71 - ], - "starting_column": 55, - "ending_column": 76, - "_ext_source_hash": "95cd6a570ac64f3074eefc48546e6c48" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getInterfaceImplementer", - "source_mapping": { - "start": 2686, - "length": 105, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "is_dependency": true, - "lines": [ - 71 - ], - "starting_column": 5, - "ending_column": 110 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC1820Registry", - "source_mapping": { - "start": 647, - "length": 4100, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.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, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getInterfaceImplementer(address,bytes32)" - } - } - } - }, - { - "type": "function", - "name": "interfaceHash", - "source_mapping": { - "start": 3000, - "length": 86, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "is_dependency": true, - "lines": [ - 78 - ], - "starting_column": 5, - "ending_column": 91, - "_ext_source_hash": "32be19bf88a3227e9a1ad07dd6e3e96f" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC1820Registry", - "source_mapping": { - "start": 647, - "length": 4100, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.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, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "interfaceHash(string)" - } - } - ], - "description": "IERC1820Registry.getInterfaceImplementer(address,bytes32).interfaceHash (@openzeppelin/contracts/introspection/IERC1820Registry.sol#71) shadows:\n\t- IERC1820Registry.interfaceHash(string) (@openzeppelin/contracts/introspection/IERC1820Registry.sol#78) (function)\n", - "markdown": "[IERC1820Registry.getInterfaceImplementer(address,bytes32).interfaceHash](node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol#L71) shadows:\n\t- [IERC1820Registry.interfaceHash(string)](node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol#L78) (function)\n", - "id": "030bca5daa373651e02ced853ee8778b37b3d2da01a87cdbc626104fd4f5ae5e", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "name", - "source_mapping": { - "start": 2563, - "length": 18, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 67 - ], - "starting_column": 9, - "ending_column": 27, - "_ext_source_hash": "25368f2376a19595b8f3e71beaeca0ef" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 2542, - "length": 605, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(string,string,address[])" - } - } - } - }, - { - "type": "function", - "name": "name", - "source_mapping": { - "start": 3201, - "length": 81, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 87, - 88, - 89 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "e37904221a7b2a97dfe7a9c94b3f432f" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "name()" - } - }, - { - "type": "function", - "name": "name", - "source_mapping": { - "start": 483, - "length": 54, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777.sol", - "is_dependency": true, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 59, - "_ext_source_hash": "4025788d8802eb9f22e195dc2bedffee" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC777", - "source_mapping": { - "start": 400, - "length": 5661, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "name()" - } - } - ], - "description": "ERC777.constructor(string,string,address[]).name (@openzeppelin/contracts/token/ERC777/ERC777.sol#67) shadows:\n\t- ERC777.name() (@openzeppelin/contracts/token/ERC777/ERC777.sol#87-89) (function)\n\t- IERC777.name() (@openzeppelin/contracts/token/ERC777/IERC777.sol#16) (function)\n", - "markdown": "[ERC777.constructor(string,string,address[]).name](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L67) shadows:\n\t- [ERC777.name()](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L87-L89) (function)\n\t- [IERC777.name()](node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol#L16) (function)\n", - "id": "7f751a6ba1ff7347f0fba5c0ab2716d2d92b6402bdd4f73ea8f0b5a0944d23f3", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "symbol", - "source_mapping": { - "start": 2591, - "length": 20, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 68 - ], - "starting_column": 9, - "ending_column": 29, - "_ext_source_hash": "fdf20b76fe0eba66c20a1b1cc357f38f" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 2542, - "length": 605, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(string,string,address[])" - } - } - } - }, - { - "type": "function", - "name": "symbol", - "source_mapping": { - "start": 3338, - "length": 85, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 94, - 95, - 96 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "3903c7de246ae25098a0f1c394d4b139" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "symbol()" - } - }, - { - "type": "function", - "name": "symbol", - "source_mapping": { - "start": 650, - "length": 56, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777.sol", - "is_dependency": true, - "lines": [ - 22 - ], - "starting_column": 5, - "ending_column": 61, - "_ext_source_hash": "290eeefbf46324b8fc0db56342aa8b5c" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC777", - "source_mapping": { - "start": 400, - "length": 5661, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "symbol()" - } - } - ], - "description": "ERC777.constructor(string,string,address[]).symbol (@openzeppelin/contracts/token/ERC777/ERC777.sol#68) shadows:\n\t- ERC777.symbol() (@openzeppelin/contracts/token/ERC777/ERC777.sol#94-96) (function)\n\t- IERC777.symbol() (@openzeppelin/contracts/token/ERC777/IERC777.sol#22) (function)\n", - "markdown": "[ERC777.constructor(string,string,address[]).symbol](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L68) shadows:\n\t- [ERC777.symbol()](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L94-L96) (function)\n\t- [IERC777.symbol()](node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol#L22) (function)\n", - "id": "56b8a6bced193e036a4cbc391b778f302eabc8635196157f70797e095bb78f7e", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "defaultOperators", - "source_mapping": { - "start": 2621, - "length": 33, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 69 - ], - "starting_column": 9, - "ending_column": 42, - "_ext_source_hash": "00eda00477397149669d7bc6c12fe591" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "constructor", - "source_mapping": { - "start": 2542, - "length": 605, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "constructor(string,string,address[])" - } - } - } - }, - { - "type": "function", - "name": "defaultOperators", - "source_mapping": { - "start": 6762, - "length": 113, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "79f4b788c4ce71042d21f57f78516d7f" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "defaultOperators()" - } - }, - { - "type": "function", - "name": "defaultOperators", - "source_mapping": { - "start": 3811, - "length": 69, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777.sol", - "is_dependency": true, - "lines": [ - 119 - ], - "starting_column": 5, - "ending_column": 74, - "_ext_source_hash": "7dabc0b2719b72b1032c782b581a2120" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IERC777", - "source_mapping": { - "start": 400, - "length": 5661, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "defaultOperators()" - } - } - ], - "description": "ERC777.constructor(string,string,address[]).defaultOperators (@openzeppelin/contracts/token/ERC777/ERC777.sol#69) shadows:\n\t- ERC777.defaultOperators() (@openzeppelin/contracts/token/ERC777/ERC777.sol#216-218) (function)\n\t- IERC777.defaultOperators() (@openzeppelin/contracts/token/ERC777/IERC777.sol#119) (function)\n", - "markdown": "[ERC777.constructor(string,string,address[]).defaultOperators](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L69) shadows:\n\t- [ERC777.defaultOperators()](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L216-L218) (function)\n\t- [IERC777.defaultOperators()](node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol#L119) (function)\n", - "id": "d538f9b3ff93ed39b135cf57e3ec898c87bde1d822fde0241ad76f408e8d12c0", - "check": "shadowing-local", - "impact": "Low", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "calculateMetrics", - "source_mapping": { - "start": 6373, - "length": 1001, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "380c15527cabf5752a6c5953aabf08a9" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "calculateMetrics(uint256)" - } - }, - { - "type": "node", - "name": "downtimeArray[i] = IValidatorsData(dataAddress).verdicts(validatorIndex,i,0)", - "source_mapping": { - "start": 6965, - "length": 78, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 186 - ], - "starting_column": 13, - "ending_column": 91, - "_ext_source_hash": "05a8baa18fa576770441a5520a81bf62" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "calculateMetrics", - "source_mapping": { - "start": 6373, - "length": 1001, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "calculateMetrics(uint256)" - } - } - } - } - ], - "description": "ValidatorsFunctionality.calculateMetrics(uint256) (ValidatorsFunctionality.sol#179-194) has external calls inside a loop: downtimeArray[i] = IValidatorsData(dataAddress).verdicts(validatorIndex,i,0) (ValidatorsFunctionality.sol#186)\n", - "markdown": "[ValidatorsFunctionality.calculateMetrics(uint256)](contracts/ValidatorsFunctionality.sol#L179-L194) has external calls inside a loop: [downtimeArray[i] = IValidatorsData(dataAddress).verdicts(validatorIndex,i,0)](contracts/ValidatorsFunctionality.sol#L186)\n", - "id": "6986ef93e10f456057e937389059672f00e2fb37c7351e01a653811395f174d7", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "calculateMetrics", - "source_mapping": { - "start": 6373, - "length": 1001, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "380c15527cabf5752a6c5953aabf08a9" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "calculateMetrics(uint256)" - } - }, - { - "type": "node", - "name": "latencyArray[i] = IValidatorsData(dataAddress).verdicts(validatorIndex,i,1)", - "source_mapping": { - "start": 7057, - "length": 77, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 187 - ], - "starting_column": 13, - "ending_column": 90, - "_ext_source_hash": "89302d0f12bd72dbf7e2c1f6b098b8de" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "calculateMetrics", - "source_mapping": { - "start": 6373, - "length": 1001, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "calculateMetrics(uint256)" - } - } - } - } - ], - "description": "ValidatorsFunctionality.calculateMetrics(uint256) (ValidatorsFunctionality.sol#179-194) has external calls inside a loop: latencyArray[i] = IValidatorsData(dataAddress).verdicts(validatorIndex,i,1) (ValidatorsFunctionality.sol#187)\n", - "markdown": "[ValidatorsFunctionality.calculateMetrics(uint256)](contracts/ValidatorsFunctionality.sol#L179-L194) has external calls inside a loop: [latencyArray[i] = IValidatorsData(dataAddress).verdicts(validatorIndex,i,1)](contracts/ValidatorsFunctionality.sol#L187)\n", - "id": "8eb661b4178c6aaea4bbc33e5b6d8dd79be76a7c4e6376a4477dbe305ba1d800", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "selectNodeToGroup", - "source_mapping": { - "start": 7645, - "length": 1170, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "c4789d1d0b2f1458c2c95f3f3ae7028d" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "selectNodeToGroup(bytes32)" - } - }, - { - "type": "node", - "name": "IGroupsData(dataAddress).setException(groupIndex,indexOfNode)", - "source_mapping": { - "start": 8409, - "length": 62, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 215 - ], - "starting_column": 17, - "ending_column": 79, - "_ext_source_hash": "0ee8ca0df9763c7590ab78103bd8ca10" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "selectNodeToGroup", - "source_mapping": { - "start": 7645, - "length": 1170, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "selectNodeToGroup(bytes32)" - } - } - } - } - ], - "description": "ValidatorsFunctionality.selectNodeToGroup(bytes32) (ValidatorsFunctionality.sol#203-223) has external calls inside a loop: IGroupsData(dataAddress).setException(groupIndex,indexOfNode) (ValidatorsFunctionality.sol#215)\n", - "markdown": "[ValidatorsFunctionality.selectNodeToGroup(bytes32)](contracts/ValidatorsFunctionality.sol#L203-L223) has external calls inside a loop: [IGroupsData(dataAddress).setException(groupIndex,indexOfNode)](contracts/ValidatorsFunctionality.sol#L215)\n", - "id": "ca6e248f7476fd3cb6ea0d6fcebfb702cf258f00fc7485d3d2b7d97e53feab1e", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "selectNodeToGroup", - "source_mapping": { - "start": 7645, - "length": 1170, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "c4789d1d0b2f1458c2c95f3f3ae7028d" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "selectNodeToGroup(bytes32)" - } - }, - { - "type": "node", - "name": "IGroupsData(dataAddress).setNodeInGroup(groupIndex,indexOfNode)", - "source_mapping": { - "start": 8489, - "length": 64, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 216 - ], - "starting_column": 17, - "ending_column": 81, - "_ext_source_hash": "056a04bc6f37440021c7f5e2e90d628f" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "selectNodeToGroup", - "source_mapping": { - "start": 7645, - "length": 1170, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "selectNodeToGroup(bytes32)" - } - } - } - } - ], - "description": "ValidatorsFunctionality.selectNodeToGroup(bytes32) (ValidatorsFunctionality.sol#203-223) has external calls inside a loop: IGroupsData(dataAddress).setNodeInGroup(groupIndex,indexOfNode) (ValidatorsFunctionality.sol#216)\n", - "markdown": "[ValidatorsFunctionality.selectNodeToGroup(bytes32)](contracts/ValidatorsFunctionality.sol#L203-L223) has external calls inside a loop: [IGroupsData(dataAddress).setNodeInGroup(groupIndex,indexOfNode)](contracts/ValidatorsFunctionality.sol#L216)\n", - "id": "14f7f060b30ae74a17fa919b2b40d37d73fd54e31b55063e2ffef797ff70ef1a", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "generateGroup", - "source_mapping": { - "start": 8821, - "length": 1908, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "763314f902f27a72c988c1632a3748cc" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "generateGroup(bytes32)" - } - }, - { - "type": "node", - "name": "IGroupsData(dataAddress).setNodeInGroup(groupIndex,nodesInGroup[i])", - "source_mapping": { - "start": 10475, - "length": 68, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 251 - ], - "starting_column": 13, - "ending_column": 81, - "_ext_source_hash": "fcd06794c6a82928738b0eb9577ff23f" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "generateGroup", - "source_mapping": { - "start": 8821, - "length": 1908, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "generateGroup(bytes32)" - } - } - } - } - ], - "description": "ValidatorsFunctionality.generateGroup(bytes32) (ValidatorsFunctionality.sol#225-259) has external calls inside a loop: IGroupsData(dataAddress).setNodeInGroup(groupIndex,nodesInGroup[i]) (ValidatorsFunctionality.sol#251)\n", - "markdown": "[ValidatorsFunctionality.generateGroup(bytes32)](contracts/ValidatorsFunctionality.sol#L225-L259) has external calls inside a loop: [IGroupsData(dataAddress).setNodeInGroup(groupIndex,nodesInGroup[i])](contracts/ValidatorsFunctionality.sol#L251)\n", - "id": "d86d94d590b928c127b83dff96d9165ee4326465e83bb1e18cbbc36f1e42649d", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "setValidators", - "source_mapping": { - "start": 12348, - "length": 862, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "391b1efc663dfbaba5012ba23b8a9ee2" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setValidators(bytes32,uint256)" - } - }, - { - "type": "node", - "name": "IValidatorsData(dataAddress).addValidatedNode(index,bytesParametersOfNodeIndex)", - "source_mapping": { - "start": 12899, - "length": 80, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 293 - ], - "starting_column": 13, - "ending_column": 93, - "_ext_source_hash": "e373138b88b0cba83bd6ab958e962cc2" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setValidators", - "source_mapping": { - "start": 12348, - "length": 862, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setValidators(bytes32,uint256)" - } - } - } - } - ], - "description": "ValidatorsFunctionality.setValidators(bytes32,uint256) (ValidatorsFunctionality.sol#286-302) has external calls inside a loop: IValidatorsData(dataAddress).addValidatedNode(index,bytesParametersOfNodeIndex) (ValidatorsFunctionality.sol#293)\n", - "markdown": "[ValidatorsFunctionality.setValidators(bytes32,uint256)](contracts/ValidatorsFunctionality.sol#L286-L302) has external calls inside a loop: [IValidatorsData(dataAddress).addValidatedNode(index,bytesParametersOfNodeIndex)](contracts/ValidatorsFunctionality.sol#L293)\n", - "id": "4139c4ca1e7762a4a6897137c1ab50928207210aedd49ce1f6057c09171f7589", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSchain", - "source_mapping": { - "start": 5529, - "length": 1664, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "0d4220817a09c084028ae08c0e201746" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchain(address,string)" - } - }, - { - "type": "node", - "name": "schainIndex = ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).findSchainAtSchainsForNode(nodesInGroup[i],schainId)", - "source_mapping": { - "start": 6419, - "length": 185, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 159, - 160, - 161, - 162 - ], - "starting_column": 13, - "ending_column": 14, - "_ext_source_hash": "3bc5e116144c4d5681a0a49e949865c3" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSchain", - "source_mapping": { - "start": 5529, - "length": 1664, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchain(address,string)" - } - } - } - } - ], - "description": "SchainsFunctionality.deleteSchain(address,string) (SchainsFunctionality.sol#148-172) has external calls inside a loop: schainIndex = ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).findSchainAtSchainsForNode(nodesInGroup[i],schainId) (SchainsFunctionality.sol#159-162)\n", - "markdown": "[SchainsFunctionality.deleteSchain(address,string)](contracts/SchainsFunctionality.sol#L148-L172) has external calls inside a loop: [schainIndex = ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).findSchainAtSchainsForNode(nodesInGroup[i],schainId)](contracts/SchainsFunctionality.sol#L159-L162)\n", - "id": "773367e3066a0cbf787f1d1c1701125717a89e7c249e0f27354e4a3a33e5f3f4", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSchain", - "source_mapping": { - "start": 5529, - "length": 1664, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "0d4220817a09c084028ae08c0e201746" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchain(address,string)" - } - }, - { - "type": "node", - "name": "require(bool,string)(schainIndex < ISchainsData(dataAddress).getLengthOfSchainsForNode(nodesInGroup[i]),Some Node does not contain given Schain)", - "source_mapping": { - "start": 6618, - "length": 167, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 163, - 164, - 165 - ], - "starting_column": 13, - "ending_column": 59, - "_ext_source_hash": "8444e021af26701858a00cefb79366b9" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSchain", - "source_mapping": { - "start": 5529, - "length": 1664, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchain(address,string)" - } - } - } - } - ], - "description": "SchainsFunctionality.deleteSchain(address,string) (SchainsFunctionality.sol#148-172) has external calls inside a loop: require(bool,string)(schainIndex < ISchainsData(dataAddress).getLengthOfSchainsForNode(nodesInGroup[i]),Some Node does not contain given Schain) (SchainsFunctionality.sol#163-165)\n", - "markdown": "[SchainsFunctionality.deleteSchain(address,string)](contracts/SchainsFunctionality.sol#L148-L172) has external calls inside a loop: [require(bool,string)(schainIndex < ISchainsData(dataAddress).getLengthOfSchainsForNode(nodesInGroup[i]),Some Node does not contain given Schain)](contracts/SchainsFunctionality.sol#L163-L165)\n", - "id": "47d019ea7780263d8e60091d8372656108da6e87e4def5247743bbb299f29b96", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSchain", - "source_mapping": { - "start": 5529, - "length": 1664, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "0d4220817a09c084028ae08c0e201746" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchain(address,string)" - } - }, - { - "type": "node", - "name": "ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).removeNodeFromSchain(nodesInGroup[i],schainId)", - "source_mapping": { - "start": 6799, - "length": 114, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 166 - ], - "starting_column": 13, - "ending_column": 127, - "_ext_source_hash": "75b56f0fe3995e4cbc6e0e5540c47f57" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSchain", - "source_mapping": { - "start": 5529, - "length": 1664, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchain(address,string)" - } - } - } - } - ], - "description": "SchainsFunctionality.deleteSchain(address,string) (SchainsFunctionality.sol#148-172) has external calls inside a loop: ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).removeNodeFromSchain(nodesInGroup[i],schainId) (SchainsFunctionality.sol#166)\n", - "markdown": "[SchainsFunctionality.deleteSchain(address,string)](contracts/SchainsFunctionality.sol#L148-L172) has external calls inside a loop: [ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).removeNodeFromSchain(nodesInGroup[i],schainId)](contracts/SchainsFunctionality.sol#L166)\n", - "id": "fcf7bae4842aa19db75285ad9d90b84151c0ca7945f771c78c3a9584396c6859", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSchainByRoot", - "source_mapping": { - "start": 7199, - "length": 1511, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "e6f9e3c65a1352662ef79a3f146c3a0a" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchainByRoot(string)" - } - }, - { - "type": "node", - "name": "schainIndex = ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).findSchainAtSchainsForNode(nodesInGroup[i],schainId)", - "source_mapping": { - "start": 7861, - "length": 185, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 183, - 184, - 185, - 186 - ], - "starting_column": 13, - "ending_column": 14, - "_ext_source_hash": "3bc5e116144c4d5681a0a49e949865c3" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSchainByRoot", - "source_mapping": { - "start": 7199, - "length": 1511, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchainByRoot(string)" - } - } - } - } - ], - "description": "SchainsFunctionality.deleteSchainByRoot(string) (SchainsFunctionality.sol#174-197) has external calls inside a loop: schainIndex = ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).findSchainAtSchainsForNode(nodesInGroup[i],schainId) (SchainsFunctionality.sol#183-186)\n", - "markdown": "[SchainsFunctionality.deleteSchainByRoot(string)](contracts/SchainsFunctionality.sol#L174-L197) has external calls inside a loop: [schainIndex = ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).findSchainAtSchainsForNode(nodesInGroup[i],schainId)](contracts/SchainsFunctionality.sol#L183-L186)\n", - "id": "f3b4cfb45aaa41c758eedb8efd5846c8eb67f6cac614bd0f422c8f1a5ab601c4", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSchainByRoot", - "source_mapping": { - "start": 7199, - "length": 1511, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "e6f9e3c65a1352662ef79a3f146c3a0a" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchainByRoot(string)" - } - }, - { - "type": "node", - "name": "require(bool,string)(schainIndex < ISchainsData(dataAddress).getLengthOfSchainsForNode(nodesInGroup[i]),Some Node does not contain given Schain)", - "source_mapping": { - "start": 8060, - "length": 167, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 187, - 188, - 189 - ], - "starting_column": 13, - "ending_column": 59, - "_ext_source_hash": "8444e021af26701858a00cefb79366b9" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSchainByRoot", - "source_mapping": { - "start": 7199, - "length": 1511, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchainByRoot(string)" - } - } - } - } - ], - "description": "SchainsFunctionality.deleteSchainByRoot(string) (SchainsFunctionality.sol#174-197) has external calls inside a loop: require(bool,string)(schainIndex < ISchainsData(dataAddress).getLengthOfSchainsForNode(nodesInGroup[i]),Some Node does not contain given Schain) (SchainsFunctionality.sol#187-189)\n", - "markdown": "[SchainsFunctionality.deleteSchainByRoot(string)](contracts/SchainsFunctionality.sol#L174-L197) has external calls inside a loop: [require(bool,string)(schainIndex < ISchainsData(dataAddress).getLengthOfSchainsForNode(nodesInGroup[i]),Some Node does not contain given Schain)](contracts/SchainsFunctionality.sol#L187-L189)\n", - "id": "0ea2839f973ce34004adf61b1135e4112f12d309d888197a459a7fe584a80f91", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSchainByRoot", - "source_mapping": { - "start": 7199, - "length": 1511, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "e6f9e3c65a1352662ef79a3f146c3a0a" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchainByRoot(string)" - } - }, - { - "type": "node", - "name": "ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).removeNodeFromSchain(nodesInGroup[i],schainId)", - "source_mapping": { - "start": 8241, - "length": 114, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 190 - ], - "starting_column": 13, - "ending_column": 127, - "_ext_source_hash": "75b56f0fe3995e4cbc6e0e5540c47f57" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSchainByRoot", - "source_mapping": { - "start": 7199, - "length": 1511, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchainByRoot(string)" - } - } - } - } - ], - "description": "SchainsFunctionality.deleteSchainByRoot(string) (SchainsFunctionality.sol#174-197) has external calls inside a loop: ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).removeNodeFromSchain(nodesInGroup[i],schainId) (SchainsFunctionality.sol#190)\n", - "markdown": "[SchainsFunctionality.deleteSchainByRoot(string)](contracts/SchainsFunctionality.sol#L174-L197) has external calls inside a loop: [ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).removeNodeFromSchain(nodesInGroup[i],schainId)](contracts/SchainsFunctionality.sol#L190)\n", - "id": "23397142772a5d0cae7fbebfb9a5defb47039cd80318d2263a05ce5103b087c9", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "findSchainAtSchainsForNode", - "source_mapping": { - "start": 4711, - "length": 490, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "36ebe2a62b8a6a0095a28bfedd86d628" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "findSchainAtSchainsForNode(uint256,bytes32)" - } - }, - { - "type": "node", - "name": "ISchainsData(dataAddress).schainsForNodes(nodeIndex,i) == schainId", - "source_mapping": { - "start": 5052, - "length": 67, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 123 - ], - "starting_column": 17, - "ending_column": 84, - "_ext_source_hash": "d75a7e89185766ddcf87f0a4ba97c28d" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "findSchainAtSchainsForNode", - "source_mapping": { - "start": 4711, - "length": 490, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "findSchainAtSchainsForNode(uint256,bytes32)" - } - } - } - } - ], - "description": "SchainsFunctionalityInternal.findSchainAtSchainsForNode(uint256,bytes32) (SchainsFunctionalityInternal.sol#119-128) has external calls inside a loop: ISchainsData(dataAddress).schainsForNodes(nodeIndex,i) == schainId (SchainsFunctionalityInternal.sol#123)\n", - "markdown": "[SchainsFunctionalityInternal.findSchainAtSchainsForNode(uint256,bytes32)](contracts/SchainsFunctionalityInternal.sol#L119-L128) has external calls inside a loop: [ISchainsData(dataAddress).schainsForNodes(nodeIndex,i) == schainId](contracts/SchainsFunctionalityInternal.sol#L123)\n", - "id": "a0cba1557d352918e36e771eb435cdfac16a4b4bf14b10ff028701a063d0a5e8", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "selectNodeToGroup", - "source_mapping": { - "start": 6060, - "length": 1546, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "1bd3ad267a7d85bc98635d7be8117ff2" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "selectNodeToGroup(bytes32)" - } - }, - { - "type": "node", - "name": "groupsData.isExceptionNode(groupIndex,nodeIndex)", - "source_mapping": { - "start": 7245, - "length": 49, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 160 - ], - "starting_column": 18, - "ending_column": 67, - "_ext_source_hash": "8b867e8ea99c4463ab52867a864fe546" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "selectNodeToGroup", - "source_mapping": { - "start": 6060, - "length": 1546, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "selectNodeToGroup(bytes32)" - } - } - } - } - ], - "description": "SchainsFunctionalityInternal.selectNodeToGroup(bytes32) (SchainsFunctionalityInternal.sol#145-166) has external calls inside a loop: groupsData.isExceptionNode(groupIndex,nodeIndex) (SchainsFunctionalityInternal.sol#160)\n", - "markdown": "[SchainsFunctionalityInternal.selectNodeToGroup(bytes32)](contracts/SchainsFunctionalityInternal.sol#L145-L166) has external calls inside a loop: [groupsData.isExceptionNode(groupIndex,nodeIndex)](contracts/SchainsFunctionalityInternal.sol#L160)\n", - "id": "3dbae1c6550216d00f7d58356155d03c2ea22a18e7cfb8234a03ca56a0fdee53", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "generateGroup", - "source_mapping": { - "start": 7725, - "length": 2022, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "d50aacea372771c36ff2fc7cffe363a0" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "generateGroup(bytes32)" - } - }, - { - "type": "node", - "name": "groupsData.setException(groupIndex,node)", - "source_mapping": { - "start": 9312, - "length": 41, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 196 - ], - "starting_column": 13, - "ending_column": 54, - "_ext_source_hash": "72cf6ff5330ccbd1613226517ac30247" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "generateGroup", - "source_mapping": { - "start": 7725, - "length": 2022, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "generateGroup(bytes32)" - } - } - } - } - ], - "description": "SchainsFunctionalityInternal.generateGroup(bytes32) (SchainsFunctionalityInternal.sol#172-208) has external calls inside a loop: groupsData.setException(groupIndex,node) (SchainsFunctionalityInternal.sol#196)\n", - "markdown": "[SchainsFunctionalityInternal.generateGroup(bytes32)](contracts/SchainsFunctionalityInternal.sol#L172-L208) has external calls inside a loop: [groupsData.setException(groupIndex,node)](contracts/SchainsFunctionalityInternal.sol#L196)\n", - "id": "391f16b1343daae78362df7892f33ad2c79aefc323d52ae5a7a009353683342a", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "generateGroup", - "source_mapping": { - "start": 7725, - "length": 2022, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "d50aacea372771c36ff2fc7cffe363a0" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "generateGroup(bytes32)" - } - }, - { - "type": "node", - "name": "schainsData.addSchainForNode(node,groupIndex)", - "source_mapping": { - "start": 9367, - "length": 46, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 197 - ], - "starting_column": 13, - "ending_column": 59, - "_ext_source_hash": "d5515b07b01a4d2b418c6520b4c1c1a1" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "generateGroup", - "source_mapping": { - "start": 7725, - "length": 2022, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "generateGroup(bytes32)" - } - } - } - } - ], - "description": "SchainsFunctionalityInternal.generateGroup(bytes32) (SchainsFunctionalityInternal.sol#172-208) has external calls inside a loop: schainsData.addSchainForNode(node,groupIndex) (SchainsFunctionalityInternal.sol#197)\n", - "markdown": "[SchainsFunctionalityInternal.generateGroup(bytes32)](contracts/SchainsFunctionalityInternal.sol#L172-L208) has external calls inside a loop: [schainsData.addSchainForNode(node,groupIndex)](contracts/SchainsFunctionalityInternal.sol#L197)\n", - "id": "66afbb664b49eff8b3f3cc514dfeb799d6f0a57bd5a9cd503fd1fd963f3d2c0d", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getTotalLoadPercentage", - "source_mapping": { - "start": 2310, - "length": 938, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "lines": [ - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "50fa89565c8e7381504f05f9c33df9bf" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Pricing", - "source_mapping": { - "start": 173, - "length": 3077, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTotalLoadPercentage()" - } - }, - { - "type": "node", - "name": "schain = ISchainsData(schainsDataAddress).schainsAtSystem(i)", - "source_mapping": { - "start": 2849, - "length": 68, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "lines": [ - 70 - ], - "starting_column": 13, - "ending_column": 81, - "_ext_source_hash": "d08406514a3b4de7ec584b6272689430" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTotalLoadPercentage", - "source_mapping": { - "start": 2310, - "length": 938, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "lines": [ - 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": "Pricing", - "source_mapping": { - "start": 173, - "length": 3077, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTotalLoadPercentage()" - } - } - } - } - ], - "description": "Pricing.getTotalLoadPercentage() (Pricing.sol#63-76) has external calls inside a loop: schain = ISchainsData(schainsDataAddress).schainsAtSystem(i) (Pricing.sol#70)\n", - "markdown": "[Pricing.getTotalLoadPercentage()](contracts/Pricing.sol#L63-L76) has external calls inside a loop: [schain = ISchainsData(schainsDataAddress).schainsAtSystem(i)](contracts/Pricing.sol#L70)\n", - "id": "4e901568549270bed618f9e78d2a1ec70b4eb00e1bcb1417dccfcb9257169b76", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getTotalLoadPercentage", - "source_mapping": { - "start": 2310, - "length": 938, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "lines": [ - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "50fa89565c8e7381504f05f9c33df9bf" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Pricing", - "source_mapping": { - "start": 173, - "length": 3077, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTotalLoadPercentage()" - } - }, - { - "type": "node", - "name": "numberOfNodesInGroup = IGroupsData(schainsDataAddress).getNumberOfNodesInGroup(schain)", - "source_mapping": { - "start": 2931, - "length": 91, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "lines": [ - 71 - ], - "starting_column": 13, - "ending_column": 104, - "_ext_source_hash": "ac01dbd2739b45996c4f8c995e3d8bbb" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTotalLoadPercentage", - "source_mapping": { - "start": 2310, - "length": 938, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "lines": [ - 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": "Pricing", - "source_mapping": { - "start": 173, - "length": 3077, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTotalLoadPercentage()" - } - } - } - } - ], - "description": "Pricing.getTotalLoadPercentage() (Pricing.sol#63-76) has external calls inside a loop: numberOfNodesInGroup = IGroupsData(schainsDataAddress).getNumberOfNodesInGroup(schain) (Pricing.sol#71)\n", - "markdown": "[Pricing.getTotalLoadPercentage()](contracts/Pricing.sol#L63-L76) has external calls inside a loop: [numberOfNodesInGroup = IGroupsData(schainsDataAddress).getNumberOfNodesInGroup(schain)](contracts/Pricing.sol#L71)\n", - "id": "0c2ef134d4b293caeffa3e8c58354cf75282c12df950df22715418fc638e4ffb", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getTotalLoadPercentage", - "source_mapping": { - "start": 2310, - "length": 938, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "lines": [ - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "50fa89565c8e7381504f05f9c33df9bf" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Pricing", - "source_mapping": { - "start": 173, - "length": 3077, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTotalLoadPercentage()" - } - }, - { - "type": "node", - "name": "part = ISchainsData(schainsDataAddress).getSchainsPartOfNode(schain)", - "source_mapping": { - "start": 3036, - "length": 73, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "lines": [ - 72 - ], - "starting_column": 13, - "ending_column": 86, - "_ext_source_hash": "c70f7955a7bc1a94348a80d7c17ae876" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getTotalLoadPercentage", - "source_mapping": { - "start": 2310, - "length": 938, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "lines": [ - 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": "Pricing", - "source_mapping": { - "start": 173, - "length": 3077, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getTotalLoadPercentage()" - } - } - } - } - ], - "description": "Pricing.getTotalLoadPercentage() (Pricing.sol#63-76) has external calls inside a loop: part = ISchainsData(schainsDataAddress).getSchainsPartOfNode(schain) (Pricing.sol#72)\n", - "markdown": "[Pricing.getTotalLoadPercentage()](contracts/Pricing.sol#L63-L76) has external calls inside a loop: [part = ISchainsData(schainsDataAddress).getSchainsPartOfNode(schain)](contracts/Pricing.sol#L72)\n", - "id": "4ee91bf949c97c2aad2761d1927a357fba629b6c5bc5a1f97e247ccbfc66a977", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "sendVerdicts", - "source_mapping": { - "start": 6471, - "length": 1002, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "4546823bf89ec3287ec8f655c5a30c1b" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleManager", - "source_mapping": { - "start": 1284, - "length": 11202, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendVerdicts(uint256,uint256[],uint32[],uint32[])" - } - }, - { - "type": "node", - "name": "IValidatorsFunctionality(validatorsFunctionalityAddress).sendVerdict(fromValidatorIndex,toNodeIndexes[i],downtimes[i],latencies[i])", - "source_mapping": { - "start": 7257, - "length": 199, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 150, - 151, - 152, - 153, - 154 - ], - "starting_column": 13, - "ending_column": 30, - "_ext_source_hash": "1dec49b7271bbf58d912d776098dcf78" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sendVerdicts", - "source_mapping": { - "start": 6471, - "length": 1002, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleManager", - "source_mapping": { - "start": 1284, - "length": 11202, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendVerdicts(uint256,uint256[],uint32[],uint32[])" - } - } - } - } - ], - "description": "SkaleManager.sendVerdicts(uint256,uint256[],uint32[],uint32[]) (SkaleManager.sol#137-156) has external calls inside a loop: IValidatorsFunctionality(validatorsFunctionalityAddress).sendVerdict(fromValidatorIndex,toNodeIndexes[i],downtimes[i],latencies[i]) (SkaleManager.sol#150-154)\n", - "markdown": "[SkaleManager.sendVerdicts(uint256,uint256[],uint32[],uint32[])](contracts/SkaleManager.sol#L137-L156) has external calls inside a loop: [IValidatorsFunctionality(validatorsFunctionalityAddress).sendVerdict(fromValidatorIndex,toNodeIndexes[i],downtimes[i],latencies[i])](contracts/SkaleManager.sol#L150-L154)\n", - "id": "a2751d4765bd78d0a1c72ed96a65828ddec38dec88435f190251eb6314b726c7", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_burn", - "source_mapping": { - "start": 12144, - "length": 595, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "698dcd34306bfd6b6ed32c5a199de813" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_burn(address,address,uint256,bytes,bytes)" - } - }, - { - "type": "node", - "name": "_callTokensToSend(operator,from,address(0),amount,data,operatorData)", - "source_mapping": { - "start": 12405, - "length": 73, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 383 - ], - "starting_column": 9, - "ending_column": 82, - "_ext_source_hash": "2a2b84f5ef31ba74cf5f76e1e5609c97" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_burn", - "source_mapping": { - "start": 12144, - "length": 595, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_burn(address,address,uint256,bytes,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "_balances[from] = _balances[from].sub(amount)", - "source_mapping": { - "start": 12572, - "length": 45, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 387 - ], - "starting_column": 9, - "ending_column": 54, - "_ext_source_hash": "6af04f56064a07b1094ea54b4703d3b2" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_burn", - "source_mapping": { - "start": 12144, - "length": 595, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_burn(address,address,uint256,bytes,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "_balances" - } - }, - { - "type": "node", - "name": "_totalSupply = _totalSupply.sub(amount)", - "source_mapping": { - "start": 12523, - "length": 39, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 386 - ], - "starting_column": 9, - "ending_column": 48, - "_ext_source_hash": "3e3c2169bf3e3cc6412d6dd5f87ad488" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_burn", - "source_mapping": { - "start": 12144, - "length": 595, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_burn(address,address,uint256,bytes,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "_totalSupply" - } - } - ], - "description": "Reentrancy in ERC777._burn(address,address,uint256,bytes,bytes) (@openzeppelin/contracts/token/ERC777/ERC777.sol#372-391):\n\tExternal calls:\n\t- _callTokensToSend(operator,from,address(0),amount,data,operatorData) (@openzeppelin/contracts/token/ERC777/ERC777.sol#383)\n\tState variables written after the call(s):\n\t- ERC777._balances (@openzeppelin/contracts/token/ERC777/ERC777.sol#32) in _balances[from] = _balances[from].sub(amount) (@openzeppelin/contracts/token/ERC777/ERC777.sol#387)\n\t- ERC777._totalSupply (@openzeppelin/contracts/token/ERC777/ERC777.sol#34) in _totalSupply = _totalSupply.sub(amount) (@openzeppelin/contracts/token/ERC777/ERC777.sol#386)\n", - "markdown": "Reentrancy in [ERC777._burn(address,address,uint256,bytes,bytes)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L372-L391):\n\tExternal calls:\n\t- [_callTokensToSend(operator,from,address(0),amount,data,operatorData)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L383)\n\tState variables written after the call(s):\n\t- [ERC777._balances](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L32) in [_balances[from] = _balances[from].sub(amount)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L387)\n\t- [ERC777._totalSupply](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L34) in [_totalSupply = _totalSupply.sub(amount)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L386)\n", - "id": "479ec9c9248b51c51599e17cc8c29e0ee2a1cca4452cd25599bb039da9d63846", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_send", - "source_mapping": { - "start": 11137, - "length": 637, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "40b285de5086ec9add7b814d532cd5d9" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_send(address,address,address,uint256,bytes,bytes,bool)" - } - }, - { - "type": "node", - "name": "_callTokensToSend(operator,from,to,amount,userData,operatorData)", - "source_mapping": { - "start": 11527, - "length": 69, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 357 - ], - "starting_column": 9, - "ending_column": 78, - "_ext_source_hash": "2f55e1e8e1d20d8d90b9ba7861865bba" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_send", - "source_mapping": { - "start": 11137, - "length": 637, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_send(address,address,address,uint256,bytes,bytes,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "_move(operator,from,to,amount,userData,operatorData)", - "source_mapping": { - "start": 11607, - "length": 57, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 359 - ], - "starting_column": 9, - "ending_column": 66, - "_ext_source_hash": "313e39e4ec11141cadb925d93972438a" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_send", - "source_mapping": { - "start": 11137, - "length": 637, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_send(address,address,address,uint256,bytes,bytes,bool)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "_balances" - } - } - ], - "description": "Reentrancy in ERC777._send(address,address,address,uint256,bytes,bytes,bool) (@openzeppelin/contracts/token/ERC777/ERC777.sol#343-362):\n\tExternal calls:\n\t- _callTokensToSend(operator,from,to,amount,userData,operatorData) (@openzeppelin/contracts/token/ERC777/ERC777.sol#357)\n\tState variables written after the call(s):\n\t- ERC777._balances (@openzeppelin/contracts/token/ERC777/ERC777.sol#32) in _move(operator,from,to,amount,userData,operatorData) (@openzeppelin/contracts/token/ERC777/ERC777.sol#359)\n", - "markdown": "Reentrancy in [ERC777._send(address,address,address,uint256,bytes,bytes,bool)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L343-L362):\n\tExternal calls:\n\t- [_callTokensToSend(operator,from,to,amount,userData,operatorData)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L357)\n\tState variables written after the call(s):\n\t- [ERC777._balances](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L32) in [_move(operator,from,to,amount,userData,operatorData)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L359)\n", - "id": "8aa6edf2689ad49466ab203c0e5be14f3f208495da0bdca4732b7cac3633cb09", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 4760, - "length": 422, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "c39cfc225820c3455540c540050c3437" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - }, - { - "type": "node", - "name": "_callTokensToSend(from,from,recipient,amount,,)", - "source_mapping": { - "start": 4966, - "length": 56, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 153 - ], - "starting_column": 9, - "ending_column": 65, - "_ext_source_hash": "1e93305b1e70574aa81dd28895ea5288" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 4760, - "length": 422, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 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": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "_move(from,from,recipient,amount,,)", - "source_mapping": { - "start": 5033, - "length": 44, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 155 - ], - "starting_column": 9, - "ending_column": 53, - "_ext_source_hash": "436ee27f6d73fc6768d71069e8860120" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transfer", - "source_mapping": { - "start": 4760, - "length": 422, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 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": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transfer(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "_balances" - } - } - ], - "description": "Reentrancy in ERC777.transfer(address,uint256) (@openzeppelin/contracts/token/ERC777/ERC777.sol#148-160):\n\tExternal calls:\n\t- _callTokensToSend(from,from,recipient,amount,,) (@openzeppelin/contracts/token/ERC777/ERC777.sol#153)\n\tState variables written after the call(s):\n\t- ERC777._balances (@openzeppelin/contracts/token/ERC777/ERC777.sol#32) in _move(from,from,recipient,amount,,) (@openzeppelin/contracts/token/ERC777/ERC777.sol#155)\n", - "markdown": "Reentrancy in [ERC777.transfer(address,uint256)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L148-L160):\n\tExternal calls:\n\t- [_callTokensToSend(from,from,recipient,amount,,)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L153)\n\tState variables written after the call(s):\n\t- [ERC777._balances](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L32) in [_move(from,from,recipient,amount,,)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L155)\n", - "id": "2d524052c0d3646f735ae1dabc374cb089ff04848313b28a1b72e45f07f4dab5", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 8788, - "length": 618, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "46c252069572ee9bb74fcd022054fa6d" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - }, - { - "type": "node", - "name": "_callTokensToSend(spender,holder,recipient,amount,,)", - "source_mapping": { - "start": 9098, - "length": 61, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 285 - ], - "starting_column": 9, - "ending_column": 70, - "_ext_source_hash": "95e2b544fd2f60e43584c6b4e43a9241" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 8788, - "length": 618, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "_move(spender,holder,recipient,amount,,)", - "source_mapping": { - "start": 9170, - "length": 49, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 287 - ], - "starting_column": 9, - "ending_column": 58, - "_ext_source_hash": "d5d75b54b7bd0a69ea4d923fee9afa88" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 8788, - "length": 618, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "_balances" - } - }, - { - "type": "node", - "name": "_approve(holder,spender,_allowances[holder][spender].sub(amount))", - "source_mapping": { - "start": 9229, - "length": 67, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 288 - ], - "starting_column": 9, - "ending_column": 76, - "_ext_source_hash": "40a627d5953e911113472c5eceb275d6" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "transferFrom", - "source_mapping": { - "start": 8788, - "length": 618, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "transferFrom(address,address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "_allowances" - } - } - ], - "description": "Reentrancy in ERC777.transferFrom(address,address,uint256) (@openzeppelin/contracts/token/ERC777/ERC777.sol#279-293):\n\tExternal calls:\n\t- _callTokensToSend(spender,holder,recipient,amount,,) (@openzeppelin/contracts/token/ERC777/ERC777.sol#285)\n\tState variables written after the call(s):\n\t- ERC777._allowances (@openzeppelin/contracts/token/ERC777/ERC777.sol#61) in _approve(holder,spender,_allowances[holder][spender].sub(amount)) (@openzeppelin/contracts/token/ERC777/ERC777.sol#288)\n\t- ERC777._balances (@openzeppelin/contracts/token/ERC777/ERC777.sol#32) in _move(spender,holder,recipient,amount,,) (@openzeppelin/contracts/token/ERC777/ERC777.sol#287)\n", - "markdown": "Reentrancy in [ERC777.transferFrom(address,address,uint256)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L279-L293):\n\tExternal calls:\n\t- [_callTokensToSend(spender,holder,recipient,amount,,)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L285)\n\tState variables written after the call(s):\n\t- [ERC777._allowances](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L61) in [_approve(holder,spender,_allowances[holder][spender].sub(amount))](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L288)\n\t- [ERC777._balances](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L32) in [_move(spender,holder,recipient,amount,,)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L287)\n", - "id": "ddf572113950c27243b13fd8051d658ba9e8f97b5886939ddeb0320f1bdae83d", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_burn", - "source_mapping": { - "start": 12144, - "length": 595, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "698dcd34306bfd6b6ed32c5a199de813" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_burn(address,address,uint256,bytes,bytes)" - } - }, - { - "type": "node", - "name": "_callTokensToSend(operator,from,address(0),amount,data,operatorData)", - "source_mapping": { - "start": 12405, - "length": 73, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 383 - ], - "starting_column": 9, - "ending_column": 82, - "_ext_source_hash": "2a2b84f5ef31ba74cf5f76e1e5609c97" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_burn", - "source_mapping": { - "start": 12144, - "length": 595, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_burn(address,address,uint256,bytes,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in ERC777._burn(address,address,uint256,bytes,bytes) (@openzeppelin/contracts/token/ERC777/ERC777.sol#372-391):\n\tExternal calls:\n\t- _callTokensToSend(operator,from,address(0),amount,data,operatorData) (@openzeppelin/contracts/token/ERC777/ERC777.sol#383)\n\tEvent emitted after the call(s):\n\t- Burned(operator,from,amount,data,operatorData) (@openzeppelin/contracts/token/ERC777/ERC777.sol#389)\n\t- Transfer(from,address(0),amount) (@openzeppelin/contracts/token/ERC777/ERC777.sol#390)\n", - "markdown": "Reentrancy in [ERC777._burn(address,address,uint256,bytes,bytes)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L372-L391):\n\tExternal calls:\n\t- [_callTokensToSend(operator,from,address(0),amount,data,operatorData)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L383)\n\tEvent emitted after the call(s):\n\t- [Burned(operator,from,amount,data,operatorData)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L389)\n\t- [Transfer(from,address(0),amount)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L390)\n", - "id": "b4f4cb8395a196d54d210e8441e6f43a6929c3eb1ad0bbd1dd9718cc1b4eaae5", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_mint", - "source_mapping": { - "start": 9966, - "length": 631, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "fcaae8a8687a6eb86744bb5b0e1d8f44" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_mint(address,address,uint256,bytes,bytes)" - } - }, - { - "type": "node", - "name": "_callTokensReceived(operator,address(0),account,amount,userData,operatorData,true)", - "source_mapping": { - "start": 10377, - "length": 88, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 327 - ], - "starting_column": 9, - "ending_column": 97, - "_ext_source_hash": "bb5c9c1577a3281a3a99bf95a815af03" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_mint", - "source_mapping": { - "start": 9966, - "length": 631, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_mint(address,address,uint256,bytes,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in ERC777._mint(address,address,uint256,bytes,bytes) (@openzeppelin/contracts/token/ERC777/ERC777.sol#312-331):\n\tExternal calls:\n\t- _callTokensReceived(operator,address(0),account,amount,userData,operatorData,true) (@openzeppelin/contracts/token/ERC777/ERC777.sol#327)\n\tEvent emitted after the call(s):\n\t- Minted(operator,account,amount,userData,operatorData) (@openzeppelin/contracts/token/ERC777/ERC777.sol#329)\n\t- Transfer(address(0),account,amount) (@openzeppelin/contracts/token/ERC777/ERC777.sol#330)\n", - "markdown": "Reentrancy in [ERC777._mint(address,address,uint256,bytes,bytes)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L312-L331):\n\tExternal calls:\n\t- [_callTokensReceived(operator,address(0),account,amount,userData,operatorData,true)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L327)\n\tEvent emitted after the call(s):\n\t- [Minted(operator,account,amount,userData,operatorData)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L329)\n\t- [Transfer(address(0),account,amount)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L330)\n", - "id": "ea0ebe9dbc08e8c645cb237a27acda92a69deb507da9b1e5c21d1c108cfef08e", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "addGroup", - "source_mapping": { - "start": 4302, - "length": 478, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "58e8b5b053fe2dc715ccfd353b3f2a01" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GroupsFunctionality", - "source_mapping": { - "start": 1341, - "length": 6381, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "addGroup(bytes32,uint256,bytes32)" - } - }, - { - "type": "node", - "name": "require(bool,string)(IGroupsData(groupsDataAddress).addGroup(groupIndex,newRecommendedNumberOfNodes,data),Could not add Group)", - "source_mapping": { - "start": 4527, - "length": 118, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 140 - ], - "starting_column": 9, - "ending_column": 127, - "_ext_source_hash": "0c39a1be053cb2e99fdb7b3484323ec8" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "addGroup", - "source_mapping": { - "start": 4302, - "length": 478, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GroupsFunctionality", - "source_mapping": { - "start": 1341, - "length": 6381, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "addGroup(bytes32,uint256,bytes32)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in GroupsFunctionality.addGroup(bytes32,uint256,bytes32) (GroupsFunctionality.sol#138-146):\n\tExternal calls:\n\t- require(bool,string)(IGroupsData(groupsDataAddress).addGroup(groupIndex,newRecommendedNumberOfNodes,data),Could not add Group) (GroupsFunctionality.sol#140)\n\tEvent emitted after the call(s):\n\t- GroupAdded(groupIndex,data,uint32(block.timestamp),gasleft()()) (GroupsFunctionality.sol#141-145)\n", - "markdown": "Reentrancy in [GroupsFunctionality.addGroup(bytes32,uint256,bytes32)](contracts/GroupsFunctionality.sol#L138-L146):\n\tExternal calls:\n\t- [require(bool,string)(IGroupsData(groupsDataAddress).addGroup(groupIndex,newRecommendedNumberOfNodes,data),Could not add Group)](contracts/GroupsFunctionality.sol#L140)\n\tEvent emitted after the call(s):\n\t- [GroupAdded(groupIndex,data,uint32(block.timestamp),gasleft()())](contracts/GroupsFunctionality.sol#L141-L145)\n", - "id": "e4cb1cda8fb55dc99559c33b1c16722ccb914712c1a186460433c9750229a5dd", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "addSchain", - "source_mapping": { - "start": 3000, - "length": 1496, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "7e0f0858525d0187cb628ee405ac3fe3" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "addSchain(address,uint256,bytes)" - } - }, - { - "type": "node", - "name": "initializeSchainInSchainsData(schainParameters.name,from,deposit,schainParameters.lifetime)", - "source_mapping": { - "start": 3649, - "length": 143, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 108, - 109, - 110, - 111, - 112 - ], - "starting_column": 9, - "ending_column": 39, - "_ext_source_hash": "283ab44acf6b3ff77ed04a781fd1c958" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "addSchain", - "source_mapping": { - "start": 3000, - "length": 1496, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "addSchain(address,uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).createGroupForSchain(schainParameters.name,keccak256(bytes)(abi.encodePacked(schainParameters.name)),numberOfNodes,partOfNode)", - "source_mapping": { - "start": 4029, - "length": 202, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 119, - 120 - ], - "starting_column": 9, - "ending_column": 114, - "_ext_source_hash": "8e46a7bd8b726582758578cf4d5983e4" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "addSchain", - "source_mapping": { - "start": 3000, - "length": 1496, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "addSchain(address,uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SchainsFunctionality.addSchain(address,uint256,bytes) (SchainsFunctionality.sol#96-125):\n\tExternal calls:\n\t- initializeSchainInSchainsData(schainParameters.name,from,deposit,schainParameters.lifetime) (SchainsFunctionality.sol#108-112)\n\t- ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).createGroupForSchain(schainParameters.name,keccak256(bytes)(abi.encodePacked(schainParameters.name)),numberOfNodes,partOfNode) (SchainsFunctionality.sol#119-120)\n\tEvent emitted after the call(s):\n\t- SchainCreated(schainParameters.name,from,partOfNode,schainParameters.lifetime,numberOfNodes,deposit,schainParameters.nonce,keccak256(bytes)(abi.encodePacked(schainParameters.name)),uint32(block.timestamp),gasleft()()) (SchainsFunctionality.sol#122-124)\n", - "markdown": "Reentrancy in [SchainsFunctionality.addSchain(address,uint256,bytes)](contracts/SchainsFunctionality.sol#L96-L125):\n\tExternal calls:\n\t- [initializeSchainInSchainsData(schainParameters.name,from,deposit,schainParameters.lifetime)](contracts/SchainsFunctionality.sol#L108-L112)\n\t- [ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).createGroupForSchain(schainParameters.name,keccak256(bytes)(abi.encodePacked(schainParameters.name)),numberOfNodes,partOfNode)](contracts/SchainsFunctionality.sol#L119-L120)\n\tEvent emitted after the call(s):\n\t- [SchainCreated(schainParameters.name,from,partOfNode,schainParameters.lifetime,numberOfNodes,deposit,schainParameters.nonce,keccak256(bytes)(abi.encodePacked(schainParameters.name)),uint32(block.timestamp),gasleft()())](contracts/SchainsFunctionality.sol#L122-L124)\n", - "id": "3c47a87b407f21264d02f6a38bfce1e2525bab7d8bbbc6b37f1cf8ec1de387dd", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "addValidator", - "source_mapping": { - "start": 3251, - "length": 708, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "21a23059c711d121becd879610c2a68a" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "addValidator(uint256)" - } - }, - { - "type": "node", - "name": "addGroup(groupIndex,possibleNumberOfNodes,bytes32(nodeIndex))", - "source_mapping": { - "start": 3645, - "length": 63, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 119 - ], - "starting_column": 9, - "ending_column": 72, - "_ext_source_hash": "8f9225fb31cf809dc49b103422e06734" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "addValidator", - "source_mapping": { - "start": 3251, - "length": 708, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 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": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "addValidator(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "numberOfNodesInGroup = setValidators(groupIndex,nodeIndex)", - "source_mapping": { - "start": 3718, - "length": 64, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 120 - ], - "starting_column": 9, - "ending_column": 73, - "_ext_source_hash": "84e4167b01c3cf5a011df6579fb13c18" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "addValidator", - "source_mapping": { - "start": 3251, - "length": 708, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 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": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "addValidator(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in ValidatorsFunctionality.addValidator(uint256) (ValidatorsFunctionality.sol#114-127):\n\tExternal calls:\n\t- addGroup(groupIndex,possibleNumberOfNodes,bytes32(nodeIndex)) (ValidatorsFunctionality.sol#119)\n\t- numberOfNodesInGroup = setValidators(groupIndex,nodeIndex) (ValidatorsFunctionality.sol#120)\n\tEvent emitted after the call(s):\n\t- ValidatorCreated(nodeIndex,groupIndex,numberOfNodesInGroup,uint32(block.timestamp),gasleft()()) (ValidatorsFunctionality.sol#121-126)\n", - "markdown": "Reentrancy in [ValidatorsFunctionality.addValidator(uint256)](contracts/ValidatorsFunctionality.sol#L114-L127):\n\tExternal calls:\n\t- [addGroup(groupIndex,possibleNumberOfNodes,bytes32(nodeIndex))](contracts/ValidatorsFunctionality.sol#L119)\n\t- [numberOfNodesInGroup = setValidators(groupIndex,nodeIndex)](contracts/ValidatorsFunctionality.sol#L120)\n\tEvent emitted after the call(s):\n\t- [ValidatorCreated(nodeIndex,groupIndex,numberOfNodesInGroup,uint32(block.timestamp),gasleft()())](contracts/ValidatorsFunctionality.sol#L121-L126)\n", - "id": "5ed2d95ec092a82b19a01e9a77b8fdb350bfd1ba6f58c8b5c68ba3301a776e8c", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "allright", - "source_mapping": { - "start": 8744, - "length": 1333, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "5186b8060978e273d1d5097b62c36dcc" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allright(bytes32,uint256)" - } - }, - { - "type": "node", - "name": "require(bool,string)(IGroupsData(channels[groupIndex].dataAddress).setPublicKey(groupIndex,channels[groupIndex].publicKeyx.x,channels[groupIndex].publicKeyx.y,channels[groupIndex].publicKeyy.x,channels[groupIndex].publicKeyy.y),Could not set public key)", - "source_mapping": { - "start": 9634, - "length": 341, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 252, - 253, - 254, - 255, - 256, - 257, - 258 - ], - "starting_column": 13, - "ending_column": 43, - "_ext_source_hash": "4dfbf478f9b7252a55ac7eb6c6764200" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "allright", - "source_mapping": { - "start": 8744, - "length": 1333, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allright(bytes32,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SkaleDKG.allright(bytes32,uint256) (SkaleDKG.sol#238-262):\n\tExternal calls:\n\t- require(bool,string)(IGroupsData(channels[groupIndex].dataAddress).setPublicKey(groupIndex,channels[groupIndex].publicKeyx.x,channels[groupIndex].publicKeyx.y,channels[groupIndex].publicKeyy.x,channels[groupIndex].publicKeyy.y),Could not set public key) (SkaleDKG.sol#252-258)\n\tEvent emitted after the call(s):\n\t- AllDataReceived(groupIndex,fromNodeIndex) (SkaleDKG.sol#250)\n\t- SuccessfulDKG(groupIndex) (SkaleDKG.sol#260)\n", - "markdown": "Reentrancy in [SkaleDKG.allright(bytes32,uint256)](contracts/SkaleDKG.sol#L238-L262):\n\tExternal calls:\n\t- [require(bool,string)(IGroupsData(channels[groupIndex].dataAddress).setPublicKey(groupIndex,channels[groupIndex].publicKeyx.x,channels[groupIndex].publicKeyx.y,channels[groupIndex].publicKeyy.x,channels[groupIndex].publicKeyy.y),Could not set public key)](contracts/SkaleDKG.sol#L252-L258)\n\tEvent emitted after the call(s):\n\t- [AllDataReceived(groupIndex,fromNodeIndex)](contracts/SkaleDKG.sol#L250)\n\t- [SuccessfulDKG(groupIndex)](contracts/SkaleDKG.sol#L260)\n", - "id": "446a6517a906c3ca70026488abce78de5797c9259ece1b020b7029eb8fda001c", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "ef75a60c42dbd41fcbbb9de761a24041" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - }, - { - "type": "node", - "name": "IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)", - "source_mapping": { - "start": 6790, - "length": 75, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 186 - ], - "starting_column": 13, - "ending_column": 88, - "_ext_source_hash": "200e0b9d4e343f35da524ac28f26af5e" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SkaleDKG.complaint(bytes32,uint256,uint256) (SkaleDKG.sol#168-197):\n\tExternal calls:\n\t- IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex) (SkaleDKG.sol#186)\n\tEvent emitted after the call(s):\n\t- FailedDKG(groupIndex) (SkaleDKG.sol#188)\n", - "markdown": "Reentrancy in [SkaleDKG.complaint(bytes32,uint256,uint256)](contracts/SkaleDKG.sol#L168-L197):\n\tExternal calls:\n\t- [IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)](contracts/SkaleDKG.sol#L186)\n\tEvent emitted after the call(s):\n\t- [FailedDKG(groupIndex)](contracts/SkaleDKG.sol#L188)\n", - "id": "1018faffbca7b817261d7a365975c39c1a6e3ac88e2d11cbf1d72fe7c4ecd8e3", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "ef75a60c42dbd41fcbbb9de761a24041" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - }, - { - "type": "node", - "name": "IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)", - "source_mapping": { - "start": 7184, - "length": 75, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 193 - ], - "starting_column": 13, - "ending_column": 88, - "_ext_source_hash": "200e0b9d4e343f35da524ac28f26af5e" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SkaleDKG.complaint(bytes32,uint256,uint256) (SkaleDKG.sol#168-197):\n\tExternal calls:\n\t- IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex) (SkaleDKG.sol#193)\n\tEvent emitted after the call(s):\n\t- FailedDKG(groupIndex) (SkaleDKG.sol#195)\n", - "markdown": "Reentrancy in [SkaleDKG.complaint(bytes32,uint256,uint256)](contracts/SkaleDKG.sol#L168-L197):\n\tExternal calls:\n\t- [IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)](contracts/SkaleDKG.sol#L193)\n\tEvent emitted after the call(s):\n\t- [FailedDKG(groupIndex)](contracts/SkaleDKG.sol#L195)\n", - "id": "e3761e4189f13fe45004549b416ac463151e8fa15d103b9d1fbf228eecfcc844", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "ef75a60c42dbd41fcbbb9de761a24041" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - }, - { - "type": "node", - "name": "IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)", - "source_mapping": { - "start": 6790, - "length": 75, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 186 - ], - "starting_column": 13, - "ending_column": 88, - "_ext_source_hash": "200e0b9d4e343f35da524ac28f26af5e" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)", - "source_mapping": { - "start": 7184, - "length": 75, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 193 - ], - "starting_column": 13, - "ending_column": 88, - "_ext_source_hash": "200e0b9d4e343f35da524ac28f26af5e" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "complaint", - "source_mapping": { - "start": 5627, - "length": 1730, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "complaint(bytes32,uint256,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SkaleDKG.complaint(bytes32,uint256,uint256) (SkaleDKG.sol#168-197):\n\tExternal calls:\n\t- IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex) (SkaleDKG.sol#186)\n\t- IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex) (SkaleDKG.sol#193)\n\tEvent emitted after the call(s):\n\t- ComplaintSent(groupIndex,fromNodeIndex,toNodeIndex) (SkaleDKG.sol#180)\n\t- FailedDKG(groupIndex) (SkaleDKG.sol#188)\n\t- FailedDKG(groupIndex) (SkaleDKG.sol#195)\n", - "markdown": "Reentrancy in [SkaleDKG.complaint(bytes32,uint256,uint256)](contracts/SkaleDKG.sol#L168-L197):\n\tExternal calls:\n\t- [IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)](contracts/SkaleDKG.sol#L186)\n\t- [IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)](contracts/SkaleDKG.sol#L193)\n\tEvent emitted after the call(s):\n\t- [ComplaintSent(groupIndex,fromNodeIndex,toNodeIndex)](contracts/SkaleDKG.sol#L180)\n\t- [FailedDKG(groupIndex)](contracts/SkaleDKG.sol#L188)\n\t- [FailedDKG(groupIndex)](contracts/SkaleDKG.sol#L195)\n", - "id": "ba4de0686d35bb2b948f88345dda1567fdc4803a1ad2f2b5a1b4142f66b72587", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "completeWithdrawDeposit", - "source_mapping": { - "start": 6377, - "length": 1040, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "2012128ef4f0784731d429503020794f" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "completeWithdrawDeposit(address,uint256)" - } - }, - { - "type": "node", - "name": "INodesData(nodesDataAddress).setNodeLeft(nodeIndex)", - "source_mapping": { - "start": 6928, - "length": 51, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 186 - ], - "starting_column": 9, - "ending_column": 60, - "_ext_source_hash": "5f980446c944d2fdb70031f333dc0a52" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "completeWithdrawDeposit", - "source_mapping": { - "start": 6377, - "length": 1040, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "completeWithdrawDeposit(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "INodesData(nodesDataAddress).removeNode(nodeIndex)", - "source_mapping": { - "start": 6990, - "length": 50, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 188 - ], - "starting_column": 9, - "ending_column": 59, - "_ext_source_hash": "cf44ec2c28d160bbd265c0b58a7d7fa4" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "completeWithdrawDeposit", - "source_mapping": { - "start": 6377, - "length": 1040, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "completeWithdrawDeposit(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in NodesFunctionality.completeWithdrawDeposit(address,uint256) (NodesFunctionality.sol#179-198):\n\tExternal calls:\n\t- INodesData(nodesDataAddress).setNodeLeft(nodeIndex) (NodesFunctionality.sol#186)\n\t- INodesData(nodesDataAddress).removeNode(nodeIndex) (NodesFunctionality.sol#188)\n\tEvent emitted after the call(s):\n\t- WithdrawDepositFromNodeComplete(nodeIndex,from,IConstants(constantsAddress).NODE_DEPOSIT(),uint32(block.timestamp),gasleft()()) (NodesFunctionality.sol#191-196)\n", - "markdown": "Reentrancy in [NodesFunctionality.completeWithdrawDeposit(address,uint256)](contracts/NodesFunctionality.sol#L179-L198):\n\tExternal calls:\n\t- [INodesData(nodesDataAddress).setNodeLeft(nodeIndex)](contracts/NodesFunctionality.sol#L186)\n\t- [INodesData(nodesDataAddress).removeNode(nodeIndex)](contracts/NodesFunctionality.sol#L188)\n\tEvent emitted after the call(s):\n\t- [WithdrawDepositFromNodeComplete(nodeIndex,from,IConstants(constantsAddress).NODE_DEPOSIT(),uint32(block.timestamp),gasleft()())](contracts/NodesFunctionality.sol#L191-L196)\n", - "id": "a3356931e99c44add7bacc6aad1e7767e29ba11f0b3380647a1139e4a474701c", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "createGroupForSchain", - "source_mapping": { - "start": 1886, - "length": 667, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "e3f573611850626cd65b221ec6849e9f" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createGroupForSchain(string,bytes32,uint256,uint8)" - } - }, - { - "type": "node", - "name": "addGroup(schainId,numberOfNodes,bytes32(uint256(partOfNode)))", - "source_mapping": { - "start": 2172, - "length": 60, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 64 - ], - "starting_column": 9, - "ending_column": 69, - "_ext_source_hash": "8813829cfddf7f4f418b303b78d89835" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createGroupForSchain", - "source_mapping": { - "start": 1886, - "length": 667, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createGroupForSchain(string,bytes32,uint256,uint8)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "numberOfNodesInGroup = generateGroup(schainId)", - "source_mapping": { - "start": 2242, - "length": 60, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 65 - ], - "starting_column": 9, - "ending_column": 69, - "_ext_source_hash": "4cbfb7a32ca57061679180fd06d701d4" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createGroupForSchain", - "source_mapping": { - "start": 1886, - "length": 667, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createGroupForSchain(string,bytes32,uint256,uint8)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "ISchainsData(dataAddress).setSchainPartOfNode(schainId,partOfNode)", - "source_mapping": { - "start": 2312, - "length": 67, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 66 - ], - "starting_column": 9, - "ending_column": 76, - "_ext_source_hash": "24c84181b2441a9e7c2317e1c779de9f" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createGroupForSchain", - "source_mapping": { - "start": 1886, - "length": 667, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createGroupForSchain(string,bytes32,uint256,uint8)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SchainsFunctionalityInternal.createGroupForSchain(string,bytes32,uint256,uint8) (SchainsFunctionalityInternal.sol#57-73):\n\tExternal calls:\n\t- addGroup(schainId,numberOfNodes,bytes32(uint256(partOfNode))) (SchainsFunctionalityInternal.sol#64)\n\t- numberOfNodesInGroup = generateGroup(schainId) (SchainsFunctionalityInternal.sol#65)\n\t- ISchainsData(dataAddress).setSchainPartOfNode(schainId,partOfNode) (SchainsFunctionalityInternal.sol#66)\n\tEvent emitted after the call(s):\n\t- SchainNodes(schainName,schainId,numberOfNodesInGroup,uint32(block.timestamp),gasleft()()) (SchainsFunctionalityInternal.sol#67-72)\n", - "markdown": "Reentrancy in [SchainsFunctionalityInternal.createGroupForSchain(string,bytes32,uint256,uint8)](contracts/SchainsFunctionalityInternal.sol#L57-L73):\n\tExternal calls:\n\t- [addGroup(schainId,numberOfNodes,bytes32(uint256(partOfNode)))](contracts/SchainsFunctionalityInternal.sol#L64)\n\t- [numberOfNodesInGroup = generateGroup(schainId)](contracts/SchainsFunctionalityInternal.sol#L65)\n\t- [ISchainsData(dataAddress).setSchainPartOfNode(schainId,partOfNode)](contracts/SchainsFunctionalityInternal.sol#L66)\n\tEvent emitted after the call(s):\n\t- [SchainNodes(schainName,schainId,numberOfNodesInGroup,uint32(block.timestamp),gasleft()())](contracts/SchainsFunctionalityInternal.sol#L67-L72)\n", - "id": "70e5d05b0d5e14ffdbc17c47b3dc07addffdaeab61d3f6989b37f0fa2364ab11", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "createNode", - "source_mapping": { - "start": 2444, - "length": 1677, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 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": 5, - "ending_column": 6, - "_ext_source_hash": "2e9fc6768f61a4c398650f1bc38ff048" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "createNode(address,uint256,bytes)" - } - }, - { - "type": "node", - "name": "nodeIndex = INodesData(nodesDataAddress).addNode(from,name,ip,publicIP,port,publicKey)", - "source_mapping": { - "start": 3599, - "length": 164, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 102, - 103, - 104, - 105, - 106, - 107, - 108 - ], - "starting_column": 9, - "ending_column": 23, - "_ext_source_hash": "c8216fe62e36b122faf1d55202b060f6" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createNode", - "source_mapping": { - "start": 2444, - "length": 1677, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 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": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "createNode(address,uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in NodesFunctionality.createNode(address,uint256,bytes) (NodesFunctionality.sol#81-122):\n\tExternal calls:\n\t- nodeIndex = INodesData(nodesDataAddress).addNode(from,name,ip,publicIP,port,publicKey) (NodesFunctionality.sol#102-108)\n\tEvent emitted after the call(s):\n\t- NodeCreated(nodeIndex,from,name,ip,publicIP,port,nonce,uint32(block.timestamp),gasleft()()) (NodesFunctionality.sol#112-121)\n", - "markdown": "Reentrancy in [NodesFunctionality.createNode(address,uint256,bytes)](contracts/NodesFunctionality.sol#L81-L122):\n\tExternal calls:\n\t- [nodeIndex = INodesData(nodesDataAddress).addNode(from,name,ip,publicIP,port,publicKey)](contracts/NodesFunctionality.sol#L102-L108)\n\tEvent emitted after the call(s):\n\t- [NodeCreated(nodeIndex,from,name,ip,publicIP,port,nonce,uint32(block.timestamp),gasleft()())](contracts/NodesFunctionality.sol#L112-L121)\n", - "id": "29382c4264a60a7da4c7ce911d6d9dd238d2a5f3a0478927c1a444ca9f02da91", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteGroup", - "source_mapping": { - "start": 4951, - "length": 488, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 153, - 154, - 155, - 156, - 157, - 158, - 159 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "d1107cef9088cdcd38ed3724a1a40231" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GroupsFunctionality", - "source_mapping": { - "start": 1341, - "length": 6381, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteGroup(bytes32)" - } - }, - { - "type": "node", - "name": "IGroupsData(groupsDataAddress).removeGroup(groupIndex)", - "source_mapping": { - "start": 5229, - "length": 54, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 156 - ], - "starting_column": 9, - "ending_column": 63, - "_ext_source_hash": "3dc024d77e9afa2216adcb1a700c1120" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteGroup", - "source_mapping": { - "start": 4951, - "length": 488, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 153, - 154, - 155, - 156, - 157, - 158, - 159 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GroupsFunctionality", - "source_mapping": { - "start": 1341, - "length": 6381, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteGroup(bytes32)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "IGroupsData(groupsDataAddress).removeAllNodesInGroup(groupIndex)", - "source_mapping": { - "start": 5293, - "length": 64, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 157 - ], - "starting_column": 9, - "ending_column": 73, - "_ext_source_hash": "de52915cc970ef86aae8dd4934c28605" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteGroup", - "source_mapping": { - "start": 4951, - "length": 488, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 153, - 154, - 155, - 156, - 157, - 158, - 159 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GroupsFunctionality", - "source_mapping": { - "start": 1341, - "length": 6381, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteGroup(bytes32)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in GroupsFunctionality.deleteGroup(bytes32) (GroupsFunctionality.sol#153-159):\n\tExternal calls:\n\t- IGroupsData(groupsDataAddress).removeGroup(groupIndex) (GroupsFunctionality.sol#156)\n\t- IGroupsData(groupsDataAddress).removeAllNodesInGroup(groupIndex) (GroupsFunctionality.sol#157)\n\tEvent emitted after the call(s):\n\t- GroupDeleted(groupIndex,uint32(block.timestamp),gasleft()()) (GroupsFunctionality.sol#158)\n", - "markdown": "Reentrancy in [GroupsFunctionality.deleteGroup(bytes32)](contracts/GroupsFunctionality.sol#L153-L159):\n\tExternal calls:\n\t- [IGroupsData(groupsDataAddress).removeGroup(groupIndex)](contracts/GroupsFunctionality.sol#L156)\n\t- [IGroupsData(groupsDataAddress).removeAllNodesInGroup(groupIndex)](contracts/GroupsFunctionality.sol#L157)\n\tEvent emitted after the call(s):\n\t- [GroupDeleted(groupIndex,uint32(block.timestamp),gasleft()())](contracts/GroupsFunctionality.sol#L158)\n", - "id": "3474659516e607e9be9f88fdf64e32e65fa66111a2e8c3ad538407db8f485040", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSchain", - "source_mapping": { - "start": 5529, - "length": 1664, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "0d4220817a09c084028ae08c0e201746" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchain(address,string)" - } - }, - { - "type": "node", - "name": "ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).deleteGroup(schainId)", - "source_mapping": { - "start": 6984, - "length": 88, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 169 - ], - "starting_column": 9, - "ending_column": 97, - "_ext_source_hash": "9a5365e3078e6a96b6ac1afe5123b9ff" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSchain", - "source_mapping": { - "start": 5529, - "length": 1664, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchain(address,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "ISchainsData(dataAddress).removeSchain(schainId,from)", - "source_mapping": { - "start": 7082, - "length": 54, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 170 - ], - "starting_column": 9, - "ending_column": 63, - "_ext_source_hash": "19f3877e0f458aaa4016ceb56b7a0434" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSchain", - "source_mapping": { - "start": 5529, - "length": 1664, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchain(address,string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SchainsFunctionality.deleteSchain(address,string) (SchainsFunctionality.sol#148-172):\n\tExternal calls:\n\t- ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).deleteGroup(schainId) (SchainsFunctionality.sol#169)\n\t- ISchainsData(dataAddress).removeSchain(schainId,from) (SchainsFunctionality.sol#170)\n\tEvent emitted after the call(s):\n\t- SchainDeleted(from,name,schainId) (SchainsFunctionality.sol#171)\n", - "markdown": "Reentrancy in [SchainsFunctionality.deleteSchain(address,string)](contracts/SchainsFunctionality.sol#L148-L172):\n\tExternal calls:\n\t- [ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).deleteGroup(schainId)](contracts/SchainsFunctionality.sol#L169)\n\t- [ISchainsData(dataAddress).removeSchain(schainId,from)](contracts/SchainsFunctionality.sol#L170)\n\tEvent emitted after the call(s):\n\t- [SchainDeleted(from,name,schainId)](contracts/SchainsFunctionality.sol#L171)\n", - "id": "c37dd29096ad5de71ef5ff6bdfe1dfdf70469cdbbff0b783b5071bde02a7073f", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSchainByRoot", - "source_mapping": { - "start": 7199, - "length": 1511, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "e6f9e3c65a1352662ef79a3f146c3a0a" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchainByRoot(string)" - } - }, - { - "type": "node", - "name": "ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).deleteGroup(schainId)", - "source_mapping": { - "start": 8426, - "length": 88, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 193 - ], - "starting_column": 9, - "ending_column": 97, - "_ext_source_hash": "9a5365e3078e6a96b6ac1afe5123b9ff" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSchainByRoot", - "source_mapping": { - "start": 7199, - "length": 1511, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchainByRoot(string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "ISchainsData(dataAddress).removeSchain(schainId,from)", - "source_mapping": { - "start": 8599, - "length": 54, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 195 - ], - "starting_column": 9, - "ending_column": 63, - "_ext_source_hash": "19f3877e0f458aaa4016ceb56b7a0434" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deleteSchainByRoot", - "source_mapping": { - "start": 7199, - "length": 1511, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deleteSchainByRoot(string)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SchainsFunctionality.deleteSchainByRoot(string) (SchainsFunctionality.sol#174-197):\n\tExternal calls:\n\t- ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).deleteGroup(schainId) (SchainsFunctionality.sol#193)\n\t- ISchainsData(dataAddress).removeSchain(schainId,from) (SchainsFunctionality.sol#195)\n\tEvent emitted after the call(s):\n\t- SchainDeleted(from,name,schainId) (SchainsFunctionality.sol#196)\n", - "markdown": "Reentrancy in [SchainsFunctionality.deleteSchainByRoot(string)](contracts/SchainsFunctionality.sol#L174-L197):\n\tExternal calls:\n\t- [ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).deleteGroup(schainId)](contracts/SchainsFunctionality.sol#L193)\n\t- [ISchainsData(dataAddress).removeSchain(schainId,from)](contracts/SchainsFunctionality.sol#L195)\n\tEvent emitted after the call(s):\n\t- [SchainDeleted(from,name,schainId)](contracts/SchainsFunctionality.sol#L196)\n", - "id": "b9cbe1be010c7dbeb326ac3cb4b1e6d092476855a3b68cc55139f8ed69acd5f4", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "generateGroup", - "source_mapping": { - "start": 7725, - "length": 2022, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "d50aacea372771c36ff2fc7cffe363a0" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "generateGroup(bytes32)" - } - }, - { - "type": "node", - "name": "groupsData.setNodesInGroup(groupIndex,nodesInGroup)", - "source_mapping": { - "start": 9548, - "length": 52, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 202 - ], - "starting_column": 9, - "ending_column": 61, - "_ext_source_hash": "664246ad8decabdd8b6e30238c490393" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "generateGroup", - "source_mapping": { - "start": 7725, - "length": 2022, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionalityInternal", - "source_mapping": { - "start": 1085, - "length": 12806, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "generateGroup(bytes32)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SchainsFunctionalityInternal.generateGroup(bytes32) (SchainsFunctionalityInternal.sol#172-208):\n\tExternal calls:\n\t- groupsData.setNodesInGroup(groupIndex,nodesInGroup) (SchainsFunctionalityInternal.sol#202)\n\tEvent emitted after the call(s):\n\t- GroupGenerated(groupIndex,nodesInGroup,uint32(block.timestamp),gasleft()()) (SchainsFunctionalityInternal.sol#203-207)\n", - "markdown": "Reentrancy in [SchainsFunctionalityInternal.generateGroup(bytes32)](contracts/SchainsFunctionalityInternal.sol#L172-L208):\n\tExternal calls:\n\t- [groupsData.setNodesInGroup(groupIndex,nodesInGroup)](contracts/SchainsFunctionalityInternal.sol#L202)\n\tEvent emitted after the call(s):\n\t- [GroupGenerated(groupIndex,nodesInGroup,uint32(block.timestamp),gasleft()())](contracts/SchainsFunctionalityInternal.sol#L203-L207)\n", - "id": "afdac2e2aa00717abd3f271ae3b67e6c83302aa3bbea085e8ead09bd56af08bb", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getBounty", - "source_mapping": { - "start": 7479, - "length": 1517, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "dd1a4a31f26db23cf20dfd6f7728726c" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleManager", - "source_mapping": { - "start": 1284, - "length": 11202, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getBounty(uint256)" - } - }, - { - "type": "node", - "name": "(averageDowntime,averageLatency) = IValidatorsFunctionality(validatorsFunctionalityAddress).calculateMetrics(nodeIndex)", - "source_mapping": { - "start": 8321, - "length": 120, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 169 - ], - "starting_column": 9, - "ending_column": 129, - "_ext_source_hash": "4eb39e77073946bf2ce29f3156ee75bf" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getBounty", - "source_mapping": { - "start": 7479, - "length": 1517, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleManager", - "source_mapping": { - "start": 1284, - "length": 11202, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getBounty(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "bounty = manageBounty(msg.sender,nodeIndex,averageDowntime,averageLatency,nodesDataAddress)", - "source_mapping": { - "start": 8451, - "length": 161, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 170, - 171, - 172, - 173, - 174, - 175 - ], - "starting_column": 9, - "ending_column": 30, - "_ext_source_hash": "ddb147bde7c0141efbd962e27ad86513" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getBounty", - "source_mapping": { - "start": 7479, - "length": 1517, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleManager", - "source_mapping": { - "start": 1284, - "length": 11202, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getBounty(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "INodesData(nodesDataAddress).changeNodeLastRewardDate(nodeIndex)", - "source_mapping": { - "start": 8622, - "length": 64, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 176 - ], - "starting_column": 9, - "ending_column": 73, - "_ext_source_hash": "d189b8d88705b6f1d5b9130ae20dd77b" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getBounty", - "source_mapping": { - "start": 7479, - "length": 1517, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleManager", - "source_mapping": { - "start": 1284, - "length": 11202, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getBounty(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "IValidatorsFunctionality(validatorsFunctionalityAddress).upgradeValidator(nodeIndex)", - "source_mapping": { - "start": 8696, - "length": 84, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 177 - ], - "starting_column": 9, - "ending_column": 93, - "_ext_source_hash": "c11ea043f9b53e08cf31039fcd5e015f" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getBounty", - "source_mapping": { - "start": 7479, - "length": 1517, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleManager", - "source_mapping": { - "start": 1284, - "length": 11202, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getBounty(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SkaleManager.getBounty(uint256) (SkaleManager.sol#158-186):\n\tExternal calls:\n\t- (averageDowntime,averageLatency) = IValidatorsFunctionality(validatorsFunctionalityAddress).calculateMetrics(nodeIndex) (SkaleManager.sol#169)\n\t- bounty = manageBounty(msg.sender,nodeIndex,averageDowntime,averageLatency,nodesDataAddress) (SkaleManager.sol#170-175)\n\t- INodesData(nodesDataAddress).changeNodeLastRewardDate(nodeIndex) (SkaleManager.sol#176)\n\t- IValidatorsFunctionality(validatorsFunctionalityAddress).upgradeValidator(nodeIndex) (SkaleManager.sol#177)\n\tEvent emitted after the call(s):\n\t- BountyGot(nodeIndex,msg.sender,averageDowntime,averageLatency,bounty,uint32(block.timestamp),gasleft()()) (SkaleManager.sol#178-185)\n", - "markdown": "Reentrancy in [SkaleManager.getBounty(uint256)](contracts/SkaleManager.sol#L158-L186):\n\tExternal calls:\n\t- [(averageDowntime,averageLatency) = IValidatorsFunctionality(validatorsFunctionalityAddress).calculateMetrics(nodeIndex)](contracts/SkaleManager.sol#L169)\n\t- [bounty = manageBounty(msg.sender,nodeIndex,averageDowntime,averageLatency,nodesDataAddress)](contracts/SkaleManager.sol#L170-L175)\n\t- [INodesData(nodesDataAddress).changeNodeLastRewardDate(nodeIndex)](contracts/SkaleManager.sol#L176)\n\t- [IValidatorsFunctionality(validatorsFunctionalityAddress).upgradeValidator(nodeIndex)](contracts/SkaleManager.sol#L177)\n\tEvent emitted after the call(s):\n\t- [BountyGot(nodeIndex,msg.sender,averageDowntime,averageLatency,bounty,uint32(block.timestamp),gasleft()())](contracts/SkaleManager.sol#L178-L185)\n", - "id": "d32bf814ce5673ea8177d666b2c28d05941820ff14375f519ce55bdcb7c2b905", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "initWithdrawDeposit", - "source_mapping": { - "start": 5407, - "length": 696, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "e7a6bd707dd4d5b7c76e516ed378c974" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "initWithdrawDeposit(address,uint256)" - } - }, - { - "type": "node", - "name": "INodesData(nodesDataAddress).setNodeLeaving(nodeIndex)", - "source_mapping": { - "start": 5839, - "length": 54, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 161 - ], - "starting_column": 9, - "ending_column": 63, - "_ext_source_hash": "f46f0193703c62e670894519d83c33d6" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "initWithdrawDeposit", - "source_mapping": { - "start": 5407, - "length": 696, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "initWithdrawDeposit(address,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in NodesFunctionality.initWithdrawDeposit(address,uint256) (NodesFunctionality.sol#155-170):\n\tExternal calls:\n\t- INodesData(nodesDataAddress).setNodeLeaving(nodeIndex) (NodesFunctionality.sol#161)\n\tEvent emitted after the call(s):\n\t- WithdrawDepositFromNodeInit(nodeIndex,from,uint32(block.timestamp),uint32(block.timestamp),gasleft()()) (NodesFunctionality.sol#163-168)\n", - "markdown": "Reentrancy in [NodesFunctionality.initWithdrawDeposit(address,uint256)](contracts/NodesFunctionality.sol#L155-L170):\n\tExternal calls:\n\t- [INodesData(nodesDataAddress).setNodeLeaving(nodeIndex)](contracts/NodesFunctionality.sol#L161)\n\tEvent emitted after the call(s):\n\t- [WithdrawDepositFromNodeInit(nodeIndex,from,uint32(block.timestamp),uint32(block.timestamp),gasleft()())](contracts/NodesFunctionality.sol#L163-L168)\n", - "id": "b47c95cd12d9ea87cefc1c9f9a0949db4fe4b2e95bd15a7835b19507cc8289d4", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "response", - "source_mapping": { - "start": 7363, - "length": 1375, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "0ffbbf7f901b02924e5643828d9c8533" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "response(bytes32,uint256,uint256,bytes)" - } - }, - { - "type": "node", - "name": "IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)", - "source_mapping": { - "start": 8583, - "length": 75, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 233 - ], - "starting_column": 9, - "ending_column": 84, - "_ext_source_hash": "200e0b9d4e343f35da524ac28f26af5e" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "response", - "source_mapping": { - "start": 7363, - "length": 1375, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "response(bytes32,uint256,uint256,bytes)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SkaleDKG.response(bytes32,uint256,uint256,bytes) (SkaleDKG.sol#199-236):\n\tExternal calls:\n\t- IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex) (SkaleDKG.sol#233)\n\tEvent emitted after the call(s):\n\t- BadGuy(channels[groupIndex].fromNodeToComplaint) (SkaleDKG.sol#225)\n\t- BadGuy(channels[groupIndex].nodeToComplaint) (SkaleDKG.sol#228)\n\t- FailedDKG(groupIndex) (SkaleDKG.sol#234)\n", - "markdown": "Reentrancy in [SkaleDKG.response(bytes32,uint256,uint256,bytes)](contracts/SkaleDKG.sol#L199-L236):\n\tExternal calls:\n\t- [IGroupsData(channels[groupIndex].dataAddress).setGroupFailedDKG(groupIndex)](contracts/SkaleDKG.sol#L233)\n\tEvent emitted after the call(s):\n\t- [BadGuy(channels[groupIndex].fromNodeToComplaint)](contracts/SkaleDKG.sol#L225)\n\t- [BadGuy(channels[groupIndex].nodeToComplaint)](contracts/SkaleDKG.sol#L228)\n\t- [FailedDKG(groupIndex)](contracts/SkaleDKG.sol#L234)\n", - "id": "0b4e82e98a8f9d0be17409ddf31881fd9635e4a376e33a8eb9e2d7143a0c1aeb", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "rotateNode", - "source_mapping": { - "start": 7380, - "length": 259, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 196, - 197, - 198, - 199, - 200, - 201 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "a2baf37bd2e6e8dc528b851e4bfe1aa6" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "rotateNode(bytes32)" - } - }, - { - "type": "node", - "name": "(schainIdsEvent,newNodeIndexEvent) = selectNodeToGroup(schainId)", - "source_mapping": { - "start": 7501, - "length": 65, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 199 - ], - "starting_column": 9, - "ending_column": 74, - "_ext_source_hash": "5ef8d96d7e33856983265411009d2600" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "rotateNode", - "source_mapping": { - "start": 7380, - "length": 259, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 196, - 197, - 198, - 199, - 200, - 201 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "rotateNode(bytes32)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in ValidatorsFunctionality.rotateNode(bytes32) (ValidatorsFunctionality.sol#196-201):\n\tExternal calls:\n\t- (schainIdsEvent,newNodeIndexEvent) = selectNodeToGroup(schainId) (ValidatorsFunctionality.sol#199)\n\tEvent emitted after the call(s):\n\t- ValidatorRotated(schainIdsEvent,newNodeIndexEvent) (ValidatorsFunctionality.sol#200)\n", - "markdown": "Reentrancy in [ValidatorsFunctionality.rotateNode(bytes32)](contracts/ValidatorsFunctionality.sol#L196-L201):\n\tExternal calls:\n\t- [(schainIdsEvent,newNodeIndexEvent) = selectNodeToGroup(schainId)](contracts/ValidatorsFunctionality.sol#L199)\n\tEvent emitted after the call(s):\n\t- [ValidatorRotated(schainIdsEvent,newNodeIndexEvent)](contracts/ValidatorsFunctionality.sol#L200)\n", - "id": "253261d62b7fc688f359b7b2a4b2efdd1e3f0ed7569991d31987e7f784151c76", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "rotateNode", - "source_mapping": { - "start": 8716, - "length": 457, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "653841783a2237f5038627146a4d24d7" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "rotateNode(uint256,bytes32)" - } - }, - { - "type": "node", - "name": "(groupIndex,newNodeIndex) = ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).replaceNode(nodeIndex,schainId)", - "source_mapping": { - "start": 8986, - "length": 128, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 203 - ], - "starting_column": 9, - "ending_column": 137, - "_ext_source_hash": "3b4cda2b8966765c9fc4de428451a474" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "rotateNode", - "source_mapping": { - "start": 8716, - "length": 457, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 199, - 200, - 201, - 202, - 203, - 204, - 205 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "rotateNode(uint256,bytes32)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in SchainsFunctionality.rotateNode(uint256,bytes32) (SchainsFunctionality.sol#199-205):\n\tExternal calls:\n\t- (groupIndex,newNodeIndex) = ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).replaceNode(nodeIndex,schainId) (SchainsFunctionality.sol#203)\n\tEvent emitted after the call(s):\n\t- NodeRotated(groupIndex,newNodeIndex) (SchainsFunctionality.sol#204)\n", - "markdown": "Reentrancy in [SchainsFunctionality.rotateNode(uint256,bytes32)](contracts/SchainsFunctionality.sol#L199-L205):\n\tExternal calls:\n\t- [(groupIndex,newNodeIndex) = ISchainsFunctionalityInternal(schainsFunctionalityInternalAddress).replaceNode(nodeIndex,schainId)](contracts/SchainsFunctionality.sol#L203)\n\tEvent emitted after the call(s):\n\t- [NodeRotated(groupIndex,newNodeIndex)](contracts/SchainsFunctionality.sol#L204)\n", - "id": "ea23b987941878a0dda992b7393c72695e46a30f54d7e537cedcf9dcdf84d50d", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "sendVerdict", - "source_mapping": { - "start": 5117, - "length": 1250, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "111e5e3d54b3b11e67b3a255b1824a80" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendVerdict(uint256,uint256,uint32,uint32)" - } - }, - { - "type": "node", - "name": "IValidatorsData(dataAddress).removeValidatedNode(validatorIndex,index)", - "source_mapping": { - "start": 5730, - "length": 71, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 165 - ], - "starting_column": 9, - "ending_column": 80, - "_ext_source_hash": "d0f873b15a1cbee9232b301f022d56fb" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sendVerdict", - "source_mapping": { - "start": 5117, - "length": 1250, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendVerdict(uint256,uint256,uint32,uint32)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "IValidatorsData(dataAddress).addVerdict(keccak256(bytes)(abi.encodePacked(toNodeIndex)),downtime,latency)", - "source_mapping": { - "start": 6056, - "length": 100, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 169 - ], - "starting_column": 13, - "ending_column": 113, - "_ext_source_hash": "ac4638bfaba2a0d63bafabd47344293e" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sendVerdict", - "source_mapping": { - "start": 5117, - "length": 1250, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendVerdict(uint256,uint256,uint32,uint32)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in ValidatorsFunctionality.sendVerdict(uint256,uint256,uint32,uint32) (ValidatorsFunctionality.sol#152-177):\n\tExternal calls:\n\t- IValidatorsData(dataAddress).removeValidatedNode(validatorIndex,index) (ValidatorsFunctionality.sol#165)\n\t- IValidatorsData(dataAddress).addVerdict(keccak256(bytes)(abi.encodePacked(toNodeIndex)),downtime,latency) (ValidatorsFunctionality.sol#169)\n\tEvent emitted after the call(s):\n\t- VerdictWasSent(fromValidatorIndex,toNodeIndex,downtime,latency,receiveVerdict,uint32(block.timestamp),gasleft()()) (ValidatorsFunctionality.sol#171-176)\n", - "markdown": "Reentrancy in [ValidatorsFunctionality.sendVerdict(uint256,uint256,uint32,uint32)](contracts/ValidatorsFunctionality.sol#L152-L177):\n\tExternal calls:\n\t- [IValidatorsData(dataAddress).removeValidatedNode(validatorIndex,index)](contracts/ValidatorsFunctionality.sol#L165)\n\t- [IValidatorsData(dataAddress).addVerdict(keccak256(bytes)(abi.encodePacked(toNodeIndex)),downtime,latency)](contracts/ValidatorsFunctionality.sol#L169)\n\tEvent emitted after the call(s):\n\t- [VerdictWasSent(fromValidatorIndex,toNodeIndex,downtime,latency,receiveVerdict,uint32(block.timestamp),gasleft()())](contracts/ValidatorsFunctionality.sol#L171-L176)\n", - "id": "ea7c1428f655adfbe3c311e6c771e4d8a00d62ede64f47e476a737034162fe62", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "setValidators", - "source_mapping": { - "start": 12348, - "length": 862, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "391b1efc663dfbaba5012ba23b8a9ee2" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setValidators(bytes32,uint256)" - } - }, - { - "type": "node", - "name": "IGroupsData(dataAddress).setException(groupIndex,nodeIndex)", - "source_mapping": { - "start": 12537, - "length": 60, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 288 - ], - "starting_column": 9, - "ending_column": 69, - "_ext_source_hash": "76165e539e0f4b7a0a0bf773e2bd0833" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setValidators", - "source_mapping": { - "start": 12348, - "length": 862, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setValidators(bytes32,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "indexOfNodesInGroup = generateGroup(groupIndex)", - "source_mapping": { - "start": 12607, - "length": 61, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 289 - ], - "starting_column": 9, - "ending_column": 70, - "_ext_source_hash": "5a0e6ce32a12c3afc383d188411a7c94" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setValidators", - "source_mapping": { - "start": 12348, - "length": 862, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setValidators(bytes32,uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in ValidatorsFunctionality.setValidators(bytes32,uint256) (ValidatorsFunctionality.sol#286-302):\n\tExternal calls:\n\t- IGroupsData(dataAddress).setException(groupIndex,nodeIndex) (ValidatorsFunctionality.sol#288)\n\t- indexOfNodesInGroup = generateGroup(groupIndex) (ValidatorsFunctionality.sol#289)\n\tEvent emitted after the call(s):\n\t- ValidatorsArray(nodeIndex,groupIndex,indexOfNodesInGroup,uint32(block.timestamp),gasleft()()) (ValidatorsFunctionality.sol#295-300)\n", - "markdown": "Reentrancy in [ValidatorsFunctionality.setValidators(bytes32,uint256)](contracts/ValidatorsFunctionality.sol#L286-L302):\n\tExternal calls:\n\t- [IGroupsData(dataAddress).setException(groupIndex,nodeIndex)](contracts/ValidatorsFunctionality.sol#L288)\n\t- [indexOfNodesInGroup = generateGroup(groupIndex)](contracts/ValidatorsFunctionality.sol#L289)\n\tEvent emitted after the call(s):\n\t- [ValidatorsArray(nodeIndex,groupIndex,indexOfNodesInGroup,uint32(block.timestamp),gasleft()())](contracts/ValidatorsFunctionality.sol#L295-L300)\n", - "id": "44002e71c0e76d77cd9421c17e2f785f7adccdcc176bf934099153e64ae55096", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "upgradeGroup", - "source_mapping": { - "start": 5719, - "length": 689, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "2fa83b82e514a7a4637d542d93f3775d" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GroupsFunctionality", - "source_mapping": { - "start": 1341, - "length": 6381, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "upgradeGroup(bytes32,uint256,bytes32)" - } - }, - { - "type": "node", - "name": "IGroupsData(groupsDataAddress).removeGroup(groupIndex)", - "source_mapping": { - "start": 6046, - "length": 54, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 171 - ], - "starting_column": 9, - "ending_column": 63, - "_ext_source_hash": "3dc024d77e9afa2216adcb1a700c1120" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "upgradeGroup", - "source_mapping": { - "start": 5719, - "length": 689, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GroupsFunctionality", - "source_mapping": { - "start": 1341, - "length": 6381, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "upgradeGroup(bytes32,uint256,bytes32)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "IGroupsData(groupsDataAddress).removeAllNodesInGroup(groupIndex)", - "source_mapping": { - "start": 6110, - "length": 64, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 172 - ], - "starting_column": 9, - "ending_column": 73, - "_ext_source_hash": "de52915cc970ef86aae8dd4934c28605" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "upgradeGroup", - "source_mapping": { - "start": 5719, - "length": 689, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GroupsFunctionality", - "source_mapping": { - "start": 1341, - "length": 6381, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "upgradeGroup(bytes32,uint256,bytes32)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "IGroupsData(groupsDataAddress).addGroup(groupIndex,newRecommendedNumberOfNodes,data)", - "source_mapping": { - "start": 6184, - "length": 86, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 173 - ], - "starting_column": 9, - "ending_column": 95, - "_ext_source_hash": "6414368ebd423ad70c8d0ea51d641896" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "upgradeGroup", - "source_mapping": { - "start": 5719, - "length": 689, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "GroupsFunctionality", - "source_mapping": { - "start": 1341, - "length": 6381, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "upgradeGroup(bytes32,uint256,bytes32)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in GroupsFunctionality.upgradeGroup(bytes32,uint256,bytes32) (GroupsFunctionality.sol#168-179):\n\tExternal calls:\n\t- IGroupsData(groupsDataAddress).removeGroup(groupIndex) (GroupsFunctionality.sol#171)\n\t- IGroupsData(groupsDataAddress).removeAllNodesInGroup(groupIndex) (GroupsFunctionality.sol#172)\n\t- IGroupsData(groupsDataAddress).addGroup(groupIndex,newRecommendedNumberOfNodes,data) (GroupsFunctionality.sol#173)\n\tEvent emitted after the call(s):\n\t- GroupUpgraded(groupIndex,data,uint32(block.timestamp),gasleft()()) (GroupsFunctionality.sol#174-178)\n", - "markdown": "Reentrancy in [GroupsFunctionality.upgradeGroup(bytes32,uint256,bytes32)](contracts/GroupsFunctionality.sol#L168-L179):\n\tExternal calls:\n\t- [IGroupsData(groupsDataAddress).removeGroup(groupIndex)](contracts/GroupsFunctionality.sol#L171)\n\t- [IGroupsData(groupsDataAddress).removeAllNodesInGroup(groupIndex)](contracts/GroupsFunctionality.sol#L172)\n\t- [IGroupsData(groupsDataAddress).addGroup(groupIndex,newRecommendedNumberOfNodes,data)](contracts/GroupsFunctionality.sol#L173)\n\tEvent emitted after the call(s):\n\t- [GroupUpgraded(groupIndex,data,uint32(block.timestamp),gasleft()())](contracts/GroupsFunctionality.sol#L174-L178)\n", - "id": "5c782a3990ed6becd1b5a07de766ce296181fa309f7b12129d534ec00c2cfbb0", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "upgradeValidator", - "source_mapping": { - "start": 3965, - "length": 717, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "c2d420d20e316daf2cff155d186c8b7e" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "upgradeValidator(uint256)" - } - }, - { - "type": "node", - "name": "upgradeGroup(groupIndex,possibleNumberOfNodes,bytes32(nodeIndex))", - "source_mapping": { - "start": 4363, - "length": 67, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 134 - ], - "starting_column": 9, - "ending_column": 76, - "_ext_source_hash": "ed055866c920f553626557a75a488f1d" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "upgradeValidator", - "source_mapping": { - "start": 3965, - "length": 717, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "upgradeValidator(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - }, - { - "type": "node", - "name": "numberOfNodesInGroup = setValidators(groupIndex,nodeIndex)", - "source_mapping": { - "start": 4440, - "length": 64, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 135 - ], - "starting_column": 9, - "ending_column": 73, - "_ext_source_hash": "84e4167b01c3cf5a011df6579fb13c18" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "upgradeValidator", - "source_mapping": { - "start": 3965, - "length": 717, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "upgradeValidator(uint256)" - } - } - }, - "additional_fields": { - "underlying_type": "external_calls" - } - } - ], - "description": "Reentrancy in ValidatorsFunctionality.upgradeValidator(uint256) (ValidatorsFunctionality.sol#129-142):\n\tExternal calls:\n\t- upgradeGroup(groupIndex,possibleNumberOfNodes,bytes32(nodeIndex)) (ValidatorsFunctionality.sol#134)\n\t- numberOfNodesInGroup = setValidators(groupIndex,nodeIndex) (ValidatorsFunctionality.sol#135)\n\tEvent emitted after the call(s):\n\t- ValidatorUpgraded(nodeIndex,groupIndex,numberOfNodesInGroup,uint32(block.timestamp),gasleft()()) (ValidatorsFunctionality.sol#136-141)\n", - "markdown": "Reentrancy in [ValidatorsFunctionality.upgradeValidator(uint256)](contracts/ValidatorsFunctionality.sol#L129-L142):\n\tExternal calls:\n\t- [upgradeGroup(groupIndex,possibleNumberOfNodes,bytes32(nodeIndex))](contracts/ValidatorsFunctionality.sol#L134)\n\t- [numberOfNodesInGroup = setValidators(groupIndex,nodeIndex)](contracts/ValidatorsFunctionality.sol#L135)\n\tEvent emitted after the call(s):\n\t- [ValidatorUpgraded(nodeIndex,groupIndex,numberOfNodesInGroup,uint32(block.timestamp),gasleft()())](contracts/ValidatorsFunctionality.sol#L136-L141)\n", - "id": "decff2339737773f14931ff21f9990796e70c02bff71ab5edeafc4a98bb43d8f", - "check": "reentrancy-events", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "sendVerdict", - "source_mapping": { - "start": 5117, - "length": 1250, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "111e5e3d54b3b11e67b3a255b1824a80" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendVerdict(uint256,uint256,uint32,uint32)" - } - }, - { - "type": "node", - "name": "require(bool,string)(time <= block.timestamp,The time has not come to send verdict)", - "source_mapping": { - "start": 5551, - "length": 73, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 163 - ], - "starting_column": 9, - "ending_column": 82, - "_ext_source_hash": "46c9e238767a88aace3d3c520ff88de4" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sendVerdict", - "source_mapping": { - "start": 5117, - "length": 1250, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendVerdict(uint256,uint256,uint32,uint32)" - } - } - } - }, - { - "type": "node", - "name": "receiveVerdict = time + IConstants(constantsAddress).deltaPeriod() > uint32(block.timestamp)", - "source_mapping": { - "start": 5915, - "length": 97, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 167 - ], - "starting_column": 9, - "ending_column": 106, - "_ext_source_hash": "7e8efdfcb8190aad12bf232687e8dafc" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "sendVerdict", - "source_mapping": { - "start": 5117, - "length": 1250, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "sendVerdict(uint256,uint256,uint32,uint32)" - } - } - } - } - ], - "description": "ValidatorsFunctionality.sendVerdict(uint256,uint256,uint32,uint32) (ValidatorsFunctionality.sol#152-177) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(time <= block.timestamp,The time has not come to send verdict) (ValidatorsFunctionality.sol#163)\n\t- receiveVerdict = time + IConstants(constantsAddress).deltaPeriod() > uint32(block.timestamp) (ValidatorsFunctionality.sol#167)\n", - "markdown": "[ValidatorsFunctionality.sendVerdict(uint256,uint256,uint32,uint32)](contracts/ValidatorsFunctionality.sol#L152-L177) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(time <= block.timestamp,The time has not come to send verdict)](contracts/ValidatorsFunctionality.sol#L163)\n\t- [receiveVerdict = time + IConstants(constantsAddress).deltaPeriod() > uint32(block.timestamp)](contracts/ValidatorsFunctionality.sol#L167)\n", - "id": "77aed8d07d9119cf4eeeaaf8b8890cebdfa21fcc816094deb3859700e2ca3b68", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "isTimeExpired", - "source_mapping": { - "start": 10648, - "length": 168, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_relative": "contracts/SchainsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_short": "SchainsData.sol", - "is_dependency": false, - "lines": [ - 291, - 292, - 293 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "6104273084eb840b1d07ca7d964534d5" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsData", - "source_mapping": { - "start": 1001, - "length": 10182, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_relative": "contracts/SchainsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_short": "SchainsData.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isTimeExpired(bytes32)" - } - }, - { - "type": "node", - "name": "schains[schainId].startDate + schains[schainId].lifetime < block.timestamp", - "source_mapping": { - "start": 10728, - "length": 81, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_relative": "contracts/SchainsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_short": "SchainsData.sol", - "is_dependency": false, - "lines": [ - 292 - ], - "starting_column": 9, - "ending_column": 90, - "_ext_source_hash": "a591f3e1a204cf205ff5287b01acfd39" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "isTimeExpired", - "source_mapping": { - "start": 10648, - "length": 168, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_relative": "contracts/SchainsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_short": "SchainsData.sol", - "is_dependency": false, - "lines": [ - 291, - 292, - 293 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsData", - "source_mapping": { - "start": 1001, - "length": 10182, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_relative": "contracts/SchainsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_short": "SchainsData.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isTimeExpired(bytes32)" - } - } - } - } - ], - "description": "SchainsData.isTimeExpired(bytes32) (SchainsData.sol#291-293) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- schains[schainId].startDate + schains[schainId].lifetime < block.timestamp (SchainsData.sol#292)\n", - "markdown": "[SchainsData.isTimeExpired(bytes32)](contracts/SchainsData.sol#L291-L293) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [schains[schainId].startDate + schains[schainId].lifetime < block.timestamp](contracts/SchainsData.sol#L292)\n", - "id": "dede6af0c3cf6cba29822bfa4006b9aa668c8b67f8f1bcc6607855e22e4b2a7c", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "isLeavingPeriodExpired", - "source_mapping": { - "start": 13287, - "length": 164, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 368, - 369, - 370 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "f41d1344b79a1b8d6ffe416b5dd18371" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesData", - "source_mapping": { - "start": 984, - "length": 21042, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isLeavingPeriodExpired(uint256)" - } - }, - { - "type": "node", - "name": "block.timestamp - nodes[nodeIndex].leavingDate >= leavingPeriod", - "source_mapping": { - "start": 13374, - "length": 70, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 369 - ], - "starting_column": 9, - "ending_column": 79, - "_ext_source_hash": "751089171328445d9389bc71c2e1f26d" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "isLeavingPeriodExpired", - "source_mapping": { - "start": 13287, - "length": 164, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 368, - 369, - 370 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesData", - "source_mapping": { - "start": 984, - "length": 21042, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isLeavingPeriodExpired(uint256)" - } - } - } - } - ], - "description": "NodesData.isLeavingPeriodExpired(uint256) (NodesData.sol#368-370) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp - nodes[nodeIndex].leavingDate >= leavingPeriod (NodesData.sol#369)\n", - "markdown": "[NodesData.isLeavingPeriodExpired(uint256)](contracts/NodesData.sol#L368-L370) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp - nodes[nodeIndex].leavingDate >= leavingPeriod](contracts/NodesData.sol#L369)\n", - "id": "b02304ea24180f59f0600cef28afa5a02f13d3eb91a6e1a72ab154c6cedc3d58", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "isTimeForReward", - "source_mapping": { - "start": 13642, - "length": 294, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 377, - 378, - 379, - 380 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "683030589373817beb2b85f43fd75fb8" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesData", - "source_mapping": { - "start": 984, - "length": 21042, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isTimeForReward(uint256)" - } - }, - { - "type": "node", - "name": "nodes[nodeIndex].lastRewardDate + IConstants(constantsAddress).rewardPeriod() <= block.timestamp", - "source_mapping": { - "start": 13826, - "length": 103, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 379 - ], - "starting_column": 9, - "ending_column": 112, - "_ext_source_hash": "1546ff5ae92db127ed741b0e2036b8d5" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "isTimeForReward", - "source_mapping": { - "start": 13642, - "length": 294, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 377, - 378, - 379, - 380 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesData", - "source_mapping": { - "start": 984, - "length": 21042, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isTimeForReward(uint256)" - } - } - } - } - ], - "description": "NodesData.isTimeForReward(uint256) (NodesData.sol#377-380) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- nodes[nodeIndex].lastRewardDate + IConstants(constantsAddress).rewardPeriod() <= block.timestamp (NodesData.sol#379)\n", - "markdown": "[NodesData.isTimeForReward(uint256)](contracts/NodesData.sol#L377-L380) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [nodes[nodeIndex].lastRewardDate + IConstants(constantsAddress).rewardPeriod() <= block.timestamp](contracts/NodesData.sol#L379)\n", - "id": "9dcc433845e804d61968dd3d91c487c6dd2bda5a9a15f9ce6ea31c3853faaa32", - "check": "timestamp", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "getDataFromBytes", - "source_mapping": { - "start": 14760, - "length": 455, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "f97e0efabd6ca270b5cce023d4876ab8" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getDataFromBytes(bytes32)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 14961, - "length": 168, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 345, - 346, - 347, - 348, - 349 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "8b7193f8b290cb1241a8c6ac12e23b59" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getDataFromBytes", - "source_mapping": { - "start": 14760, - "length": 455, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getDataFromBytes(bytes32)" - } - } - } - } - ], - "description": "ValidatorsFunctionality.getDataFromBytes(bytes32) (ValidatorsFunctionality.sol#341-352) uses assembly\n\t- INLINE ASM None (ValidatorsFunctionality.sol#345-349)\n", - "markdown": "[ValidatorsFunctionality.getDataFromBytes(bytes32)](contracts/ValidatorsFunctionality.sol#L341-L352) uses assembly\n\t- [INLINE ASM None](contracts/ValidatorsFunctionality.sol#L345-L349)\n", - "id": "3ca8029be35d72c35454e162697a63e586a3296db80a064f31136f23fa458851", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "getDataToBytes", - "source_mapping": { - "start": 15221, - "length": 889, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "be8dc199d4d5f07a24356f92d51f767c" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getDataToBytes(uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 15883, - "length": 221, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 363, - 364, - 365, - 366, - 367, - 368 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "281ca96327736616a2c40908d0dad040" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "getDataToBytes", - "source_mapping": { - "start": 15221, - "length": 889, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ValidatorsFunctionality", - "source_mapping": { - "start": 1716, - "length": 14396, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getDataToBytes(uint256)" - } - } - } - } - ], - "description": "ValidatorsFunctionality.getDataToBytes(uint256) (ValidatorsFunctionality.sol#354-369) uses assembly\n\t- INLINE ASM None (ValidatorsFunctionality.sol#363-368)\n", - "markdown": "[ValidatorsFunctionality.getDataToBytes(uint256)](contracts/ValidatorsFunctionality.sol#L354-L369) uses assembly\n\t- [INLINE ASM None](contracts/ValidatorsFunctionality.sol#L363-L368)\n", - "id": "d07c3acf55cf516951c72047b4c53c504a3c277f4555297a49e37dc4d58d0bb7", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "encrypt", - "source_mapping": { - "start": 53, - "length": 368, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "92a1ec5266b3ece254aaacd0a5a04bc4" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Decryption", - "source_mapping": { - "start": 26, - "length": 793, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "encrypt(uint256,bytes32)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 349, - "length": 66, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "lines": [ - 12, - 13, - 14 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "ad28ce4231d20b4e508d8d1bed02002f" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "encrypt", - "source_mapping": { - "start": 53, - "length": 368, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "lines": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Decryption", - "source_mapping": { - "start": 26, - "length": 793, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "encrypt(uint256,bytes32)" - } - } - } - } - ], - "description": "Decryption.encrypt(uint256,bytes32) (Decryption.sol#6-15) uses assembly\n\t- INLINE ASM None (Decryption.sol#12-14)\n", - "markdown": "[Decryption.encrypt(uint256,bytes32)](contracts/Decryption.sol#L6-L15) uses assembly\n\t- [INLINE ASM None](contracts/Decryption.sol#L12-L14)\n", - "id": "250d834a4e0e76ee56860e36520e6c977ef21239474fce0f53419447f3a164b3", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "decrypt", - "source_mapping": { - "start": 427, - "length": 390, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "65bc4ef577e14fd9f125fef617fc9065" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Decryption", - "source_mapping": { - "start": 26, - "length": 793, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "decrypt(bytes32,bytes32)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 699, - "length": 67, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "lines": [ - 23, - 24, - 25 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "6b20757c6a47b06d1c5b7bd7435d8a9c" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "decrypt", - "source_mapping": { - "start": 427, - "length": 390, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Decryption", - "source_mapping": { - "start": 26, - "length": 793, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "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 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "decrypt(bytes32,bytes32)" - } - } - } - } - ], - "description": "Decryption.decrypt(bytes32,bytes32) (Decryption.sol#17-27) uses assembly\n\t- INLINE ASM None (Decryption.sol#23-25)\n", - "markdown": "[Decryption.decrypt(bytes32,bytes32)](contracts/Decryption.sol#L17-L27) uses assembly\n\t- [INLINE ASM None](contracts/Decryption.sol#L23-L25)\n", - "id": "c9ca643082bbe49bf79c4137e668bcb5ffb4840865a5692735e0c9a431728257", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "broadcast", - "source_mapping": { - "start": 4607, - "length": 1014, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "f9b0e8ecabd5ac8a2f28dc2ca83e052e" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "broadcast(bytes32,uint256,bytes,bytes)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 5084, - "length": 215, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 147, - 148, - 149, - 150, - 151, - 152 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "c927d746da3870f382e2651dd075f325" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "broadcast", - "source_mapping": { - "start": 4607, - "length": 1014, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "broadcast(bytes32,uint256,bytes,bytes)" - } - } - } - } - ], - "description": "SkaleDKG.broadcast(bytes32,uint256,bytes,bytes) (SkaleDKG.sol#132-166) uses assembly\n\t- INLINE ASM None (SkaleDKG.sol#147-152)\n", - "markdown": "[SkaleDKG.broadcast(bytes32,uint256,bytes,bytes)](contracts/SkaleDKG.sol#L132-L166) uses assembly\n\t- [INLINE ASM None](contracts/SkaleDKG.sol#L147-L152)\n", - "id": "5bea6a0349ce7c5a76aa0257ea9e087c1bcd45da89b55dbda1877f8d496c587b", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "decryptMessage", - "source_mapping": { - "start": 13020, - "length": 795, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "9cee1612dd674a334d62e36ac6beaa7f" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "decryptMessage(bytes32,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 13620, - "length": 86, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 364, - 365, - 366 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "cb0aeefe6f212b1bbb2897f46e553808" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "decryptMessage", - "source_mapping": { - "start": 13020, - "length": 795, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "decryptMessage(bytes32,uint256)" - } - } - } - } - ], - "description": "SkaleDKG.decryptMessage(bytes32,uint256) (SkaleDKG.sol#354-370) uses assembly\n\t- INLINE ASM None (SkaleDKG.sol#364-366)\n", - "markdown": "[SkaleDKG.decryptMessage(bytes32,uint256)](contracts/SkaleDKG.sol#L354-L370) uses assembly\n\t- [INLINE ASM None](contracts/SkaleDKG.sol#L364-L366)\n", - "id": "42534eff243e3b7d5ceb4d6402abc2b9432af5616a1838cc375e1867f5bf4936", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bigModExp", - "source_mapping": { - "start": 22129, - "length": 563, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "ddfdb2c8afb71aceb90c03402c3c4177" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bigModExp(uint256,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 22509, - "length": 108, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 643, - 644, - 645 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "d0da17de4aeaf78321eec4000887c2cf" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bigModExp", - "source_mapping": { - "start": 22129, - "length": 563, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 633, - 634, - 635, - 636, - 637, - 638, - 639, - 640, - 641, - 642, - 643, - 644, - 645, - 646, - 647, - 648 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bigModExp(uint256,uint256)" - } - } - } - } - ], - "description": "SkaleDKG.bigModExp(uint256,uint256) (SkaleDKG.sol#633-648) uses assembly\n\t- INLINE ASM None (SkaleDKG.sol#643-645)\n", - "markdown": "[SkaleDKG.bigModExp(uint256,uint256)](contracts/SkaleDKG.sol#L633-L648) uses assembly\n\t- [INLINE ASM None](contracts/SkaleDKG.sol#L643-L645)\n", - "id": "ad7d5ead12bcfa6401d03d0e40cf41fae883b2fc60634fa8d9065c036fc0b0fb", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "loop", - "source_mapping": { - "start": 22698, - "length": 952, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "a3fca275581b4ad18ec1029cd66d7cfd" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loop(uint256,bytes,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 22889, - "length": 104, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 653, - 654, - 655 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "947dc16fe554260a068b8cef7263b6c5" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "loop", - "source_mapping": { - "start": 22698, - "length": 952, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loop(uint256,bytes,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 23031, - "length": 104, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 657, - 658, - 659 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "58d8701bc14256936b0403ba2083c4fd" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "loop", - "source_mapping": { - "start": 22698, - "length": 952, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loop(uint256,bytes,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 23173, - "length": 104, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 661, - 662, - 663 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "97e9221db8f953f1a1077639ced58de9" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "loop", - "source_mapping": { - "start": 22698, - "length": 952, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loop(uint256,bytes,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 23315, - "length": 105, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 665, - 666, - 667 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "11b4a35cc37d39406b039e579af34376" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "loop", - "source_mapping": { - "start": 22698, - "length": 952, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "loop(uint256,bytes,uint256)" - } - } - } - } - ], - "description": "SkaleDKG.loop(uint256,bytes,uint256) (SkaleDKG.sol#650-674) uses assembly\n\t- INLINE ASM None (SkaleDKG.sol#653-655)\n\t- INLINE ASM None (SkaleDKG.sol#657-659)\n\t- INLINE ASM None (SkaleDKG.sol#661-663)\n\t- INLINE ASM None (SkaleDKG.sol#665-667)\n", - "markdown": "[SkaleDKG.loop(uint256,bytes,uint256)](contracts/SkaleDKG.sol#L650-L674) uses assembly\n\t- [INLINE ASM None](contracts/SkaleDKG.sol#L653-L655)\n\t- [INLINE ASM None](contracts/SkaleDKG.sol#L657-L659)\n\t- [INLINE ASM None](contracts/SkaleDKG.sol#L661-L663)\n\t- [INLINE ASM None](contracts/SkaleDKG.sol#L665-L667)\n", - "id": "a0063d974bd5dcead817282fe98cab658bf6411208568d998da76f4aef55ad42", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "checkCorrectMultipliedShare", - "source_mapping": { - "start": 24646, - "length": 1638, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "89a9b444686ed11ba9b299e4464d3e46" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "checkCorrectMultipliedShare(bytes,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 25046, - "length": 99, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 711, - 712, - 713 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "78f8f61fa01f15e85786dbeb1ae9dc3e" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "checkCorrectMultipliedShare", - "source_mapping": { - "start": 24646, - "length": 1638, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "checkCorrectMultipliedShare(bytes,uint256)" - } - } - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 26093, - "length": 107, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 739, - 740, - 741 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "50835ba25ede566a3b817a4ad1216f05" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "checkCorrectMultipliedShare", - "source_mapping": { - "start": 24646, - "length": 1638, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 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 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "checkCorrectMultipliedShare(bytes,uint256)" - } - } - } - } - ], - "description": "SkaleDKG.checkCorrectMultipliedShare(bytes,uint256) (SkaleDKG.sol#701-744) uses assembly\n\t- INLINE ASM None (SkaleDKG.sol#711-713)\n\t- INLINE ASM None (SkaleDKG.sol#739-741)\n", - "markdown": "[SkaleDKG.checkCorrectMultipliedShare(bytes,uint256)](contracts/SkaleDKG.sol#L701-L744) uses assembly\n\t- [INLINE ASM None](contracts/SkaleDKG.sol#L711-L713)\n\t- [INLINE ASM None](contracts/SkaleDKG.sol#L739-L741)\n", - "id": "8cb23d779ed34ba00a08b9fcd171d081589d6aff0c867a29a33bd056ab1fe709", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bytesToPublicKey", - "source_mapping": { - "start": 26290, - "length": 303, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "a08c9cebcdea170a3df8dab679ea4b12" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bytesToPublicKey(bytes)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 26430, - "length": 110, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 749, - 750, - 751, - 752 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "07111d8c23a7532cc77ac356fba73232" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bytesToPublicKey", - "source_mapping": { - "start": 26290, - "length": 303, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bytesToPublicKey(bytes)" - } - } - } - } - ], - "description": "SkaleDKG.bytesToPublicKey(bytes) (SkaleDKG.sol#746-756) uses assembly\n\t- INLINE ASM None (SkaleDKG.sol#749-752)\n", - "markdown": "[SkaleDKG.bytesToPublicKey(bytes)](contracts/SkaleDKG.sol#L746-L756) uses assembly\n\t- [INLINE ASM None](contracts/SkaleDKG.sol#L749-L752)\n", - "id": "29db10453c1a6b8eca7f0cdac07d95211e469eb2814e36e38262b6dae5231f77", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bytesToG2", - "source_mapping": { - "start": 26599, - "length": 477, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "c0b870b455fe77f333a6f05f0eb245c5" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bytesToG2(bytes)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 26782, - "length": 197, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 763, - 764, - 765, - 766, - 767, - 768 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "931ceb69aa00834b128037890908a867" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bytesToG2", - "source_mapping": { - "start": 26599, - "length": 477, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 758, - 759, - 760, - 761, - 762, - 763, - 764, - 765, - 766, - 767, - 768, - 769, - 770, - 771, - 772 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleDKG", - "source_mapping": { - "start": 1373, - "length": 25705, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bytesToG2(bytes)" - } - } - } - } - ], - "description": "SkaleDKG.bytesToG2(bytes) (SkaleDKG.sol#758-772) uses assembly\n\t- INLINE ASM None (SkaleDKG.sol#763-768)\n", - "markdown": "[SkaleDKG.bytesToG2(bytes)](contracts/SkaleDKG.sol#L758-L772) uses assembly\n\t- [INLINE ASM None](contracts/SkaleDKG.sol#L763-L768)\n", - "id": "5a5780143a3fd8ee2dcc5b913741b28e706c299d29cb45494913ffccab61cbdb", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "fallbackDataConverter", - "source_mapping": { - "start": 11653, - "length": 643, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "d9a2b6ee0ca2ab0a5889f469aae9de19" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "fallbackDataConverter(bytes)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 11990, - "length": 225, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 303, - 304, - 305, - 306, - 307, - 308 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "9dffec495e9714405fc87340f9f5576e" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "fallbackDataConverter", - "source_mapping": { - "start": 11653, - "length": 643, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "fallbackDataConverter(bytes)" - } - } - } - } - ], - "description": "NodesFunctionality.fallbackDataConverter(bytes) (NodesFunctionality.sol#292-311) uses assembly\n\t- INLINE ASM None (NodesFunctionality.sol#303-308)\n", - "markdown": "[NodesFunctionality.fallbackDataConverter(bytes)](contracts/NodesFunctionality.sol#L292-L311) uses assembly\n\t- [INLINE ASM None](contracts/NodesFunctionality.sol#L303-L308)\n", - "id": "113875c1ac5f1babc225dbec7c953a7528b1854a619991f7477ad2ff0b5ad3f0", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "fallbackDataConverterPublicKeyAndName", - "source_mapping": { - "start": 12526, - "length": 917, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "6e72f5454f2765f7c6854afa011ad62c" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "fallbackDataConverterPublicKeyAndName(bytes)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 12871, - "length": 131, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 326, - 327, - 328, - 329 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "f3ed59567cee2d77fe339bc5bd0fa362" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "fallbackDataConverterPublicKeyAndName", - "source_mapping": { - "start": 12526, - "length": 917, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "NodesFunctionality", - "source_mapping": { - "start": 1110, - "length": 12336, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "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, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 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": "fallbackDataConverterPublicKeyAndName(bytes)" - } - } - } - } - ], - "description": "NodesFunctionality.fallbackDataConverterPublicKeyAndName(bytes) (NodesFunctionality.sol#319-343) uses assembly\n\t- INLINE ASM None (NodesFunctionality.sol#326-329)\n", - "markdown": "[NodesFunctionality.fallbackDataConverterPublicKeyAndName(bytes)](contracts/NodesFunctionality.sol#L319-L343) uses assembly\n\t- [INLINE ASM None](contracts/NodesFunctionality.sol#L326-L329)\n", - "id": "45daa64fd1fb6baeaa1aa18a7fda0458c400eb7f5893decd2eacc7d719f0cfbe", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "fallbackSchainParametersDataConverter", - "source_mapping": { - "start": 11328, - "length": 889, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "0cdfe07cb8f93f5c0a005c9c7c779966" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fallbackSchainParametersDataConverter(bytes)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 11641, - "length": 177, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 267, - 268, - 269, - 270, - 271 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "c808f62e9773eb7a7ffed28c90118a45" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "fallbackSchainParametersDataConverter", - "source_mapping": { - "start": 11328, - "length": 889, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SchainsFunctionality", - "source_mapping": { - "start": 1795, - "length": 11945, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fallbackSchainParametersDataConverter(bytes)" - } - } - } - } - ], - "description": "SchainsFunctionality.fallbackSchainParametersDataConverter(bytes) (SchainsFunctionality.sol#260-279) uses assembly\n\t- INLINE ASM None (SchainsFunctionality.sol#267-271)\n", - "markdown": "[SchainsFunctionality.fallbackSchainParametersDataConverter(bytes)](contracts/SchainsFunctionality.sol#L260-L279) uses assembly\n\t- [INLINE ASM None](contracts/SchainsFunctionality.sol#L267-L271)\n", - "id": "17498ec8d729dfc769120a3edd609c0cba33129b6b17682d50bb8a564f264a78", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "setContractsAddress", - "source_mapping": { - "start": 1475, - "length": 965, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_relative": "contracts/ContractManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_short": "ContractManager.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "e3585fcfcf600b482a61ba91b8307df8" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ContractManager", - "source_mapping": { - "start": 1021, - "length": 1421, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_relative": "contracts/ContractManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_short": "ContractManager.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setContractsAddress(string,address)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 2037, - "length": 75, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_relative": "contracts/ContractManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_short": "ContractManager.sol", - "is_dependency": false, - "lines": [ - 50, - 51, - 52 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "7ac1350af28dc910a9e5eb1bb21ad359" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "setContractsAddress", - "source_mapping": { - "start": 1475, - "length": 965, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_relative": "contracts/ContractManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_short": "ContractManager.sol", - "is_dependency": false, - "lines": [ - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ContractManager", - "source_mapping": { - "start": 1021, - "length": 1421, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_relative": "contracts/ContractManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_short": "ContractManager.sol", - "is_dependency": false, - "lines": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "setContractsAddress(string,address)" - } - } - } - } - ], - "description": "ContractManager.setContractsAddress(string,address) (ContractManager.sol#42-58) uses assembly\n\t- INLINE ASM None (ContractManager.sol#50-52)\n", - "markdown": "[ContractManager.setContractsAddress(string,address)](contracts/ContractManager.sol#L42-L58) uses assembly\n\t- [INLINE ASM None](contracts/ContractManager.sol#L50-L52)\n", - "id": "874b4b93a9530f76a3a93df76ae3f8f1d2cc20f040adb560eeb2f6ad6f81db6b", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "verify", - "source_mapping": { - "start": 2545, - "length": 1303, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_relative": "contracts/SkaleVerifier.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_short": "SkaleVerifier.sol", - "is_dependency": false, - "lines": [ - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "936210f9f0921e2146341a92c3e61abc" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleVerifier", - "source_mapping": { - "start": 882, - "length": 3473, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_relative": "contracts/SkaleVerifier.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_short": "SkaleVerifier.sol", - "is_dependency": false, - "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, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 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": "verify(uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 3657, - "length": 107, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_relative": "contracts/SkaleVerifier.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_short": "SkaleVerifier.sol", - "is_dependency": false, - "lines": [ - 128, - 129, - 130 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "50835ba25ede566a3b817a4ad1216f05" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "verify", - "source_mapping": { - "start": 2545, - "length": 1303, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_relative": "contracts/SkaleVerifier.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_short": "SkaleVerifier.sol", - "is_dependency": false, - "lines": [ - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleVerifier", - "source_mapping": { - "start": 882, - "length": 3473, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_relative": "contracts/SkaleVerifier.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_short": "SkaleVerifier.sol", - "is_dependency": false, - "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, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 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": "verify(uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" - } - } - } - } - ], - "description": "SkaleVerifier.verify(uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256) (SkaleVerifier.sol#84-133) uses assembly\n\t- INLINE ASM None (SkaleVerifier.sol#128-130)\n", - "markdown": "[SkaleVerifier.verify(uint256,uint256,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,uint256)](contracts/SkaleVerifier.sol#L84-L133) uses assembly\n\t- [INLINE ASM None](contracts/SkaleVerifier.sol#L128-L130)\n", - "id": "e203f465b848b8a19b093031e36fd27fa1170b251607c9b50357d223ac338765", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "isContract", - "source_mapping": { - "start": 542, - "length": 413, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_short": "@openzeppelin/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "fc8f8ceec88962ce3d6ac21c43903021" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 94, - "length": 863, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_short": "@openzeppelin/contracts/utils/Address.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isContract(address)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 883, - "length": 41, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_short": "@openzeppelin/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 24 - ], - "starting_column": 9, - "ending_column": 50, - "_ext_source_hash": "877f8e2fb59672f4d3c4df0ddc9d7ab2" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "isContract", - "source_mapping": { - "start": 542, - "length": 413, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_short": "@openzeppelin/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Address", - "source_mapping": { - "start": 94, - "length": 863, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_short": "@openzeppelin/contracts/utils/Address.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "isContract(address)" - } - } - } - } - ], - "description": "Address.isContract(address) (@openzeppelin/contracts/utils/Address.sol#17-26) uses assembly\n\t- INLINE ASM None (@openzeppelin/contracts/utils/Address.sol#24)\n", - "markdown": "[Address.isContract(address)](node_modules/@openzeppelin/contracts/utils/Address.sol#L17-L26) uses assembly\n\t- [INLINE ASM None](node_modules/@openzeppelin/contracts/utils/Address.sol#L24)\n", - "id": "e6fd5a3660e660f1184d240462f19ba7d3ed801af956fe4c9388cca192c7c3bb", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "fallbackOperationTypeConvert", - "source_mapping": { - "start": 11873, - "length": 610, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "a006d575d0c8aab2a26be618774c2b9e" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleManager", - "source_mapping": { - "start": 1284, - "length": 11202, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fallbackOperationTypeConvert(bytes)" - } - }, - { - "type": "node", - "name": "", - "source_mapping": { - "start": 12015, - "length": 72, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 249, - 250, - 251 - ], - "starting_column": 9, - "ending_column": 10, - "_ext_source_hash": "be399a64fc1466c886bbb7a772959e39" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "fallbackOperationTypeConvert", - "source_mapping": { - "start": 11873, - "length": 610, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "SkaleManager", - "source_mapping": { - "start": 1284, - "length": 11202, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "fallbackOperationTypeConvert(bytes)" - } - } - } - } - ], - "description": "SkaleManager.fallbackOperationTypeConvert(bytes) (SkaleManager.sol#247-259) uses assembly\n\t- INLINE ASM None (SkaleManager.sol#249-251)\n", - "markdown": "[SkaleManager.fallbackOperationTypeConvert(bytes)](contracts/SkaleManager.sol#L247-L259) uses assembly\n\t- [INLINE ASM None](contracts/SkaleManager.sol#L249-L251)\n", - "id": "d1a42f2fd8ee91fd53494400070b59b23e2d225716f7a7a42c77cca7d54a71be", - "check": "assembly", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 788, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Permissions.sol", - "filename_relative": "contracts/Permissions.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Permissions.sol", - "filename_short": "Permissions.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 800, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISchainsFunctionality.sol", - "filename_relative": "contracts/interfaces/ISchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISchainsFunctionality.sol", - "filename_short": "interfaces/ISchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 796, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISchainsData.sol", - "filename_relative": "contracts/interfaces/ISchainsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISchainsData.sol", - "filename_short": "interfaces/ISchainsData.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/INodesData.sol", - "filename_relative": "contracts/interfaces/INodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/INodesData.sol", - "filename_short": "interfaces/INodesData.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 785, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "ABIEncoderV2", - "source_mapping": { - "start": 809, - "length": 33, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 21 - ], - "starting_column": 1, - "ending_column": 34, - "_ext_source_hash": "19483913bd0a6ce7edb64216ab5d48a9" - }, - "type_specific_fields": { - "directive": [ - "experimental", - "ABIEncoderV2" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/math/SafeMath.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/math/SafeMath.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/math/SafeMath.sol", - "filename_short": "@openzeppelin/contracts/math/SafeMath.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 791, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsData.sol", - "filename_relative": "contracts/ValidatorsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsData.sol", - "filename_short": "ValidatorsData.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 795, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 797, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 788, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_relative": "contracts/SchainsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_short": "SchainsData.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 792, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_relative": "contracts/ContractManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_short": "ContractManager.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 805, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IValidatorsFunctionality.sol", - "filename_relative": "contracts/interfaces/IValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IValidatorsFunctionality.sol", - "filename_short": "interfaces/IValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 788, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_relative": "contracts/SkaleVerifier.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_short": "SkaleVerifier.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 786, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_short": "@openzeppelin/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 784, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleToken.sol", - "filename_relative": "contracts/SkaleToken.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleToken.sol", - "filename_short": "SkaleToken.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 787, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsData.sol", - "filename_relative": "contracts/GroupsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsData.sol", - "filename_short": "GroupsData.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 781, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ECDH.sol", - "filename_relative": "contracts/ECDH.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ECDH.sol", - "filename_short": "ECDH.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 792, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ConstantsHolder.sol", - "filename_relative": "contracts/ConstantsHolder.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ConstantsHolder.sol", - "filename_short": "ConstantsHolder.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 789, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_relative": "contracts/Migrations.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_short": "Migrations.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IGroupsData.sol", - "filename_relative": "contracts/interfaces/IGroupsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IGroupsData.sol", - "filename_short": "interfaces/IGroupsData.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 788, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ManagerData.sol", - "filename_relative": "contracts/ManagerData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ManagerData.sol", - "filename_short": "ManagerData.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Ownable.sol", - "filename_relative": "contracts/Ownable.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Ownable.sol", - "filename_short": "Ownable.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", - "filename_short": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractReceiver.sol", - "filename_relative": "contracts/ContractReceiver.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractReceiver.sol", - "filename_short": "ContractReceiver.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777Sender.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/INodesFunctionality.sol", - "filename_relative": "contracts/interfaces/INodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/INodesFunctionality.sol", - "filename_short": "interfaces/INodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IManagerData.sol", - "filename_relative": "contracts/interfaces/IManagerData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IManagerData.sol", - "filename_short": "interfaces/IManagerData.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - }, - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISkaleToken.sol", - "filename_relative": "contracts/interfaces/ISkaleToken.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISkaleToken.sol", - "filename_short": "interfaces/ISkaleToken.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Different versions of Solidity is used in :\n\t- Version used: ['ABIEncoderV2', '^0.5.0']\n\t- ^0.5.0 (Permissions.sol#20)\n\t- ^0.5.0 (ValidatorsFunctionality.sol#20)\n\t- ^0.5.0 (@openzeppelin/contracts/introspection/IERC1820Registry.sol#1)\n\t- ^0.5.0 (Decryption.sol#1)\n\t- ^0.5.0 (interfaces/ISchainsFunctionality.sol#1)\n\t- ^0.5.0 (GroupsFunctionality.sol#20)\n\t- ^0.5.0 (interfaces/ISchainsData.sol#1)\n\t- ^0.5.0 (interfaces/INodesData.sol#1)\n\t- ^0.5.0 (@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol#1)\n\t- ^0.5.0 (SkaleDKG.sol#20)\n\t- ABIEncoderV2 (SkaleDKG.sol#21)\n\t- ^0.5.0 (@openzeppelin/contracts/math/SafeMath.sol#1)\n\t- ^0.5.0 (ValidatorsData.sol#20)\n\t- ^0.5.0 (NodesFunctionality.sol#20)\n\t- ^0.5.0 (SchainsFunctionality.sol#20)\n\t- ^0.5.0 (SchainsData.sol#20)\n\t- ^0.5.0 (ContractManager.sol#20)\n\t- ^0.5.0 (SchainsFunctionalityInternal.sol#20)\n\t- ^0.5.0 (interfaces/IValidatorsFunctionality.sol#1)\n\t- ^0.5.0 (SkaleVerifier.sol#18)\n\t- ^0.5.0 (NodesData.sol#20)\n\t- ^0.5.0 (@openzeppelin/contracts/utils/Address.sol#1)\n\t- ^0.5.0 (SkaleToken.sol#17)\n\t- ^0.5.0 (GroupsData.sol#20)\n\t- ^0.5.0 (@openzeppelin/contracts/token/ERC777/ERC777.sol#1)\n\t- ^0.5.0 (Pricing.sol#1)\n\t- ^0.5.0 (ECDH.sol#20)\n\t- ^0.5.0 (ConstantsHolder.sol#20)\n\t- ^0.5.0 (interfaces/IConstants.sol#1)\n\t- ^0.5.0 (SkaleManager.sol#20)\n\t- ^0.5.0 (Migrations.sol#1)\n\t- ^0.5.0 (interfaces/IGroupsData.sol#1)\n\t- ^0.5.0 (ManagerData.sol#20)\n\t- ^0.5.0 (@openzeppelin/contracts/token/ERC777/IERC777.sol#1)\n\t- ^0.5.0 (Ownable.sol#1)\n\t- ^0.5.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#1)\n\t- ^0.5.0 (ContractReceiver.sol#1)\n\t- ^0.5.0 (@openzeppelin/contracts/token/ERC777/IERC777Sender.sol#1)\n\t- ^0.5.0 (interfaces/INodesFunctionality.sol#1)\n\t- ^0.5.0 (interfaces/IManagerData.sol#1)\n\t- ^0.5.0 (interfaces/ISkaleToken.sol#1)\n", - "markdown": "Different versions of Solidity is used in :\n\t- Version used: ['ABIEncoderV2', '^0.5.0']\n\t- [^0.5.0](contracts/Permissions.sol#L20)\n\t- [^0.5.0](contracts/ValidatorsFunctionality.sol#L20)\n\t- [^0.5.0](node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol#L1)\n\t- [^0.5.0](contracts/Decryption.sol#L1)\n\t- [^0.5.0](contracts/interfaces/ISchainsFunctionality.sol#L1)\n\t- [^0.5.0](contracts/GroupsFunctionality.sol#L20)\n\t- [^0.5.0](contracts/interfaces/ISchainsData.sol#L1)\n\t- [^0.5.0](contracts/interfaces/INodesData.sol#L1)\n\t- [^0.5.0](node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol#L1)\n\t- [^0.5.0](contracts/SkaleDKG.sol#L20)\n\t- [ABIEncoderV2](contracts/SkaleDKG.sol#L21)\n\t- [^0.5.0](node_modules/@openzeppelin/contracts/math/SafeMath.sol#L1)\n\t- [^0.5.0](contracts/ValidatorsData.sol#L20)\n\t- [^0.5.0](contracts/NodesFunctionality.sol#L20)\n\t- [^0.5.0](contracts/SchainsFunctionality.sol#L20)\n\t- [^0.5.0](contracts/SchainsData.sol#L20)\n\t- [^0.5.0](contracts/ContractManager.sol#L20)\n\t- [^0.5.0](contracts/SchainsFunctionalityInternal.sol#L20)\n\t- [^0.5.0](contracts/interfaces/IValidatorsFunctionality.sol#L1)\n\t- [^0.5.0](contracts/SkaleVerifier.sol#L18)\n\t- [^0.5.0](contracts/NodesData.sol#L20)\n\t- [^0.5.0](node_modules/@openzeppelin/contracts/utils/Address.sol#L1)\n\t- [^0.5.0](contracts/SkaleToken.sol#L17)\n\t- [^0.5.0](contracts/GroupsData.sol#L20)\n\t- [^0.5.0](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L1)\n\t- [^0.5.0](contracts/Pricing.sol#L1)\n\t- [^0.5.0](contracts/ECDH.sol#L20)\n\t- [^0.5.0](contracts/ConstantsHolder.sol#L20)\n\t- [^0.5.0](contracts/interfaces/IConstants.sol#L1)\n\t- [^0.5.0](contracts/SkaleManager.sol#L20)\n\t- [^0.5.0](contracts/Migrations.sol#L1)\n\t- [^0.5.0](contracts/interfaces/IGroupsData.sol#L1)\n\t- [^0.5.0](contracts/ManagerData.sol#L20)\n\t- [^0.5.0](node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol#L1)\n\t- [^0.5.0](contracts/Ownable.sol#L1)\n\t- [^0.5.0](node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#L1)\n\t- [^0.5.0](contracts/ContractReceiver.sol#L1)\n\t- [^0.5.0](node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol#L1)\n\t- [^0.5.0](contracts/interfaces/INodesFunctionality.sol#L1)\n\t- [^0.5.0](contracts/interfaces/IManagerData.sol#L1)\n\t- [^0.5.0](contracts/interfaces/ISkaleToken.sol#L1)\n", - "id": "c657c8fd57372d1d10101e5acf34212d994ab72fb15601b5c91d357ca52bfb13", - "check": "pragma", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 788, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Permissions.sol", - "filename_relative": "contracts/Permissions.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Permissions.sol", - "filename_short": "Permissions.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (Permissions.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/Permissions.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 800, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_relative": "contracts/ValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsFunctionality.sol", - "filename_short": "ValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (ValidatorsFunctionality.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/ValidatorsFunctionality.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "filename_short": "@openzeppelin/contracts/introspection/IERC1820Registry.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (@openzeppelin/contracts/introspection/IERC1820Registry.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](node_modules/@openzeppelin/contracts/introspection/IERC1820Registry.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_relative": "contracts/Decryption.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Decryption.sol", - "filename_short": "Decryption.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (Decryption.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/Decryption.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISchainsFunctionality.sol", - "filename_relative": "contracts/interfaces/ISchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISchainsFunctionality.sol", - "filename_short": "interfaces/ISchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (interfaces/ISchainsFunctionality.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/interfaces/ISchainsFunctionality.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 796, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_relative": "contracts/GroupsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsFunctionality.sol", - "filename_short": "GroupsFunctionality.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (GroupsFunctionality.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/GroupsFunctionality.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISchainsData.sol", - "filename_relative": "contracts/interfaces/ISchainsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISchainsData.sol", - "filename_short": "interfaces/ISchainsData.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (interfaces/ISchainsData.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/interfaces/ISchainsData.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/INodesData.sol", - "filename_relative": "contracts/interfaces/INodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/INodesData.sol", - "filename_short": "interfaces/INodesData.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (interfaces/INodesData.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/interfaces/INodesData.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 785, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_relative": "contracts/SkaleDKG.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleDKG.sol", - "filename_short": "SkaleDKG.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (SkaleDKG.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/SkaleDKG.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/math/SafeMath.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/math/SafeMath.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/math/SafeMath.sol", - "filename_short": "@openzeppelin/contracts/math/SafeMath.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (@openzeppelin/contracts/math/SafeMath.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](node_modules/@openzeppelin/contracts/math/SafeMath.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 791, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsData.sol", - "filename_relative": "contracts/ValidatorsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ValidatorsData.sol", - "filename_short": "ValidatorsData.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (ValidatorsData.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/ValidatorsData.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 795, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_relative": "contracts/NodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesFunctionality.sol", - "filename_short": "NodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (NodesFunctionality.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/NodesFunctionality.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 797, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_relative": "contracts/SchainsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionality.sol", - "filename_short": "SchainsFunctionality.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (SchainsFunctionality.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/SchainsFunctionality.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 788, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_relative": "contracts/SchainsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsData.sol", - "filename_short": "SchainsData.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (SchainsData.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/SchainsData.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 792, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_relative": "contracts/ContractManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractManager.sol", - "filename_short": "ContractManager.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (ContractManager.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/ContractManager.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 805, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_relative": "contracts/SchainsFunctionalityInternal.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SchainsFunctionalityInternal.sol", - "filename_short": "SchainsFunctionalityInternal.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (SchainsFunctionalityInternal.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/SchainsFunctionalityInternal.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IValidatorsFunctionality.sol", - "filename_relative": "contracts/interfaces/IValidatorsFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IValidatorsFunctionality.sol", - "filename_short": "interfaces/IValidatorsFunctionality.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (interfaces/IValidatorsFunctionality.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/interfaces/IValidatorsFunctionality.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 788, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_relative": "contracts/SkaleVerifier.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleVerifier.sol", - "filename_short": "SkaleVerifier.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (SkaleVerifier.sol#18) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/SkaleVerifier.sol#L18) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 786, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_relative": "contracts/NodesData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/NodesData.sol", - "filename_short": "NodesData.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (NodesData.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/NodesData.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/utils/Address.sol", - "filename_short": "@openzeppelin/contracts/utils/Address.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (@openzeppelin/contracts/utils/Address.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](node_modules/@openzeppelin/contracts/utils/Address.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 784, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleToken.sol", - "filename_relative": "contracts/SkaleToken.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleToken.sol", - "filename_short": "SkaleToken.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (SkaleToken.sol#17) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/SkaleToken.sol#L17) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 787, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsData.sol", - "filename_relative": "contracts/GroupsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/GroupsData.sol", - "filename_short": "GroupsData.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (GroupsData.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/GroupsData.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (@openzeppelin/contracts/token/ERC777/ERC777.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_relative": "contracts/Pricing.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Pricing.sol", - "filename_short": "Pricing.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (Pricing.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/Pricing.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 781, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ECDH.sol", - "filename_relative": "contracts/ECDH.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ECDH.sol", - "filename_short": "ECDH.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (ECDH.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/ECDH.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 792, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ConstantsHolder.sol", - "filename_relative": "contracts/ConstantsHolder.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ConstantsHolder.sol", - "filename_short": "ConstantsHolder.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (ConstantsHolder.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/ConstantsHolder.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (interfaces/IConstants.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/interfaces/IConstants.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 789, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_relative": "contracts/SkaleManager.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/SkaleManager.sol", - "filename_short": "SkaleManager.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (SkaleManager.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/SkaleManager.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_relative": "contracts/Migrations.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_short": "Migrations.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (Migrations.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/Migrations.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IGroupsData.sol", - "filename_relative": "contracts/interfaces/IGroupsData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IGroupsData.sol", - "filename_short": "interfaces/IGroupsData.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (interfaces/IGroupsData.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/interfaces/IGroupsData.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 788, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ManagerData.sol", - "filename_relative": "contracts/ManagerData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ManagerData.sol", - "filename_short": "ManagerData.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (ManagerData.sol#20) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/ManagerData.sol#L20) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (@openzeppelin/contracts/token/ERC777/IERC777.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Ownable.sol", - "filename_relative": "contracts/Ownable.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Ownable.sol", - "filename_short": "Ownable.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (Ownable.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/Ownable.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", - "filename_short": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractReceiver.sol", - "filename_relative": "contracts/ContractReceiver.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/ContractReceiver.sol", - "filename_short": "ContractReceiver.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (ContractReceiver.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/ContractReceiver.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/IERC777Sender.sol", - "is_dependency": true, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (@openzeppelin/contracts/token/ERC777/IERC777Sender.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/INodesFunctionality.sol", - "filename_relative": "contracts/interfaces/INodesFunctionality.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/INodesFunctionality.sol", - "filename_short": "interfaces/INodesFunctionality.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (interfaces/INodesFunctionality.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/interfaces/INodesFunctionality.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IManagerData.sol", - "filename_relative": "contracts/interfaces/IManagerData.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IManagerData.sol", - "filename_short": "interfaces/IManagerData.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (interfaces/IManagerData.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/interfaces/IManagerData.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "pragma", - "name": "^0.5.0", - "source_mapping": { - "start": 0, - "length": 23, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISkaleToken.sol", - "filename_relative": "contracts/interfaces/ISkaleToken.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISkaleToken.sol", - "filename_short": "interfaces/ISkaleToken.sol", - "is_dependency": false, - "lines": [ - 1 - ], - "starting_column": 1, - "ending_column": 24, - "_ext_source_hash": "bf3293adda13b48b9e8678695c4efb80" - }, - "type_specific_fields": { - "directive": [ - "solidity", - "^", - "0.5", - ".0" - ] - } - } - ], - "description": "Pragma version^0.5.0 (interfaces/ISkaleToken.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.0](contracts/interfaces/ISkaleToken.sol#L1) allows old versions\n", - "id": "a725abbc98c1a3afbb124b0e6fc35554bd4f51943f5dd4df5a74b241b16ecb7c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "NODE_DEPOSIT", - "source_mapping": { - "start": 169, - "length": 53, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 5, - "ending_column": 58, - "_ext_source_hash": "72f219afa71dc6a896b07e0187dd5aa6" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "NODE_DEPOSIT()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.NODE_DEPOSIT() (interfaces/IConstants.sol#8) is not in mixedCase\n", - "markdown": "Function [IConstants.NODE_DEPOSIT()](contracts/interfaces/IConstants.sol#L8) is not in mixedCase\n", - "id": "036d6cb630c3cbce2c52d6e78ea01dd676cc81e1a1871c08c81b6e7d4d1c8aaa", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "FRACTIONAL_FACTOR", - "source_mapping": { - "start": 227, - "length": 58, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 9 - ], - "starting_column": 5, - "ending_column": 63, - "_ext_source_hash": "b7422513561bad90c47210eb83d5b8ca" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "FRACTIONAL_FACTOR()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.FRACTIONAL_FACTOR() (interfaces/IConstants.sol#9) is not in mixedCase\n", - "markdown": "Function [IConstants.FRACTIONAL_FACTOR()](contracts/interfaces/IConstants.sol#L9) is not in mixedCase\n", - "id": "a6dd1b0f79422ac340420f7e4bbf4ad70acd02b5c5c29304131ae1f2cfdf7270", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "FULL_FACTOR", - "source_mapping": { - "start": 290, - "length": 52, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 10 - ], - "starting_column": 5, - "ending_column": 57, - "_ext_source_hash": "f0b69b81a7de09501dcb5e74af1d2a59" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "FULL_FACTOR()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.FULL_FACTOR() (interfaces/IConstants.sol#10) is not in mixedCase\n", - "markdown": "Function [IConstants.FULL_FACTOR()](contracts/interfaces/IConstants.sol#L10) is not in mixedCase\n", - "id": "320b330a038636972b4f9122eb2227ff81fb363d4927468c625fd799fd556057", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "SECONDS_TO_DAY", - "source_mapping": { - "start": 347, - "length": 57, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 62, - "_ext_source_hash": "d93e7112cd3305b8e4a0c42b3e9e4e8c" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "SECONDS_TO_DAY()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.SECONDS_TO_DAY() (interfaces/IConstants.sol#11) is not in mixedCase\n", - "markdown": "Function [IConstants.SECONDS_TO_DAY()](contracts/interfaces/IConstants.sol#L11) is not in mixedCase\n", - "id": "e06ade0ac69917985cd5b77e42fa1161dbf66a8e775a1bd3f7e614f130e75191", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "SECONDS_TO_YEAR", - "source_mapping": { - "start": 409, - "length": 58, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 63, - "_ext_source_hash": "e7792cb37a5a5dbaa3753213e0323f14" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "SECONDS_TO_YEAR()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.SECONDS_TO_YEAR() (interfaces/IConstants.sol#12) is not in mixedCase\n", - "markdown": "Function [IConstants.SECONDS_TO_YEAR()](contracts/interfaces/IConstants.sol#L12) is not in mixedCase\n", - "id": "4c74edc4423a5867359e9fc5eb8531176b2f737f3dd00a796711e0a8102b0c68", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "MEDIUM_DIVISOR", - "source_mapping": { - "start": 472, - "length": 56, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 13 - ], - "starting_column": 5, - "ending_column": 61, - "_ext_source_hash": "24407c07a6cdff9cdf47b4a89e6bae53" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "MEDIUM_DIVISOR()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.MEDIUM_DIVISOR() (interfaces/IConstants.sol#13) is not in mixedCase\n", - "markdown": "Function [IConstants.MEDIUM_DIVISOR()](contracts/interfaces/IConstants.sol#L13) is not in mixedCase\n", - "id": "8b904c853ac66c220ff7d70e417d9d63888640ad215bb05e33300de2e353d278", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "TINY_DIVISOR", - "source_mapping": { - "start": 533, - "length": 54, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 14 - ], - "starting_column": 5, - "ending_column": 59, - "_ext_source_hash": "63324a31846e12908861ef67b19a98de" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "TINY_DIVISOR()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.TINY_DIVISOR() (interfaces/IConstants.sol#14) is not in mixedCase\n", - "markdown": "Function [IConstants.TINY_DIVISOR()](contracts/interfaces/IConstants.sol#L14) is not in mixedCase\n", - "id": "d859c0874aeec37045b2228f5bdda88483d699dfb20845640021138189e3ea5a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "SMALL_DIVISOR", - "source_mapping": { - "start": 592, - "length": 55, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 15 - ], - "starting_column": 5, - "ending_column": 60, - "_ext_source_hash": "3e96b483f23a3216711b976d84bc4ea8" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "SMALL_DIVISOR()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.SMALL_DIVISOR() (interfaces/IConstants.sol#15) is not in mixedCase\n", - "markdown": "Function [IConstants.SMALL_DIVISOR()](contracts/interfaces/IConstants.sol#L15) is not in mixedCase\n", - "id": "43c257e984aa0fe7d0b49d75287d5a267af8387b41bedb5060b44819890fe92a", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "MEDIUM_TEST_DIVISOR", - "source_mapping": { - "start": 652, - "length": 61, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 66, - "_ext_source_hash": "7b5e9652edfb098326acf4019a6316d6" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "MEDIUM_TEST_DIVISOR()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.MEDIUM_TEST_DIVISOR() (interfaces/IConstants.sol#16) is not in mixedCase\n", - "markdown": "Function [IConstants.MEDIUM_TEST_DIVISOR()](contracts/interfaces/IConstants.sol#L16) is not in mixedCase\n", - "id": "11a5b1ee43f171a67be58bca7acac0b95ca223e7a0b50648bef98ae61818f8c9", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "NUMBER_OF_NODES_FOR_SCHAIN", - "source_mapping": { - "start": 718, - "length": 67, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 17 - ], - "starting_column": 5, - "ending_column": 72, - "_ext_source_hash": "2272be38a7f40b490a54474962661087" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "NUMBER_OF_NODES_FOR_SCHAIN()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.NUMBER_OF_NODES_FOR_SCHAIN() (interfaces/IConstants.sol#17) is not in mixedCase\n", - "markdown": "Function [IConstants.NUMBER_OF_NODES_FOR_SCHAIN()](contracts/interfaces/IConstants.sol#L17) is not in mixedCase\n", - "id": "bad4edf27380a511fd89c0bb001266034d3fa71ba22b056558e809d8a4a83a2b", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "NUMBER_OF_NODES_FOR_TEST_SCHAIN", - "source_mapping": { - "start": 790, - "length": 72, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 18 - ], - "starting_column": 5, - "ending_column": 77, - "_ext_source_hash": "ad0d4a0d132aef4541543690f0c77cdf" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "NUMBER_OF_NODES_FOR_TEST_SCHAIN()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.NUMBER_OF_NODES_FOR_TEST_SCHAIN() (interfaces/IConstants.sol#18) is not in mixedCase\n", - "markdown": "Function [IConstants.NUMBER_OF_NODES_FOR_TEST_SCHAIN()](contracts/interfaces/IConstants.sol#L18) is not in mixedCase\n", - "id": "8c8b87963b710ce8a02dc798949f291797a9ac3bdc03e4b9fdf7181cacde1e3d", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "NUMBER_OF_NODES_FOR_MEDIUM_TEST_SCHAIN", - "source_mapping": { - "start": 867, - "length": 79, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 19 - ], - "starting_column": 5, - "ending_column": 84, - "_ext_source_hash": "534a6df64e199918e4790e4824b0cc9f" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "NUMBER_OF_NODES_FOR_MEDIUM_TEST_SCHAIN()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.NUMBER_OF_NODES_FOR_MEDIUM_TEST_SCHAIN() (interfaces/IConstants.sol#19) is not in mixedCase\n", - "markdown": "Function [IConstants.NUMBER_OF_NODES_FOR_MEDIUM_TEST_SCHAIN()](contracts/interfaces/IConstants.sol#L19) is not in mixedCase\n", - "id": "652dc14bb804f01d90d51f23b119766a75cf7461e0152dff136b6a900cc80c41", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "SIX_YEARS", - "source_mapping": { - "start": 1364, - "length": 52, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 27 - ], - "starting_column": 5, - "ending_column": 57, - "_ext_source_hash": "1cc9ffcb252ad182b9d370878102404b" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "SIX_YEARS()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.SIX_YEARS() (interfaces/IConstants.sol#27) is not in mixedCase\n", - "markdown": "Function [IConstants.SIX_YEARS()](contracts/interfaces/IConstants.sol#L27) is not in mixedCase\n", - "id": "dc3bd29326fd4320c91425a486bb2565e917d153aa4ac0e4f6b877df6938d20d", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "NUMBER_OF_VALIDATORS", - "source_mapping": { - "start": 1421, - "length": 61, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 28 - ], - "starting_column": 5, - "ending_column": 66, - "_ext_source_hash": "ff947eb3ce8d866d5f57b1d546cc198b" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "IConstants", - "source_mapping": { - "start": 142, - "length": 1342, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_relative": "contracts/interfaces/IConstants.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/IConstants.sol", - "filename_short": "interfaces/IConstants.sol", - "is_dependency": false, - "lines": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "NUMBER_OF_VALIDATORS()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function IConstants.NUMBER_OF_VALIDATORS() (interfaces/IConstants.sol#28) is not in mixedCase\n", - "markdown": "Function [IConstants.NUMBER_OF_VALIDATORS()](contracts/interfaces/IConstants.sol#L28) is not in mixedCase\n", - "id": "f49766678a0a529d9722b70c72d08acde13564efbeb6554d3414fac5afb4be11", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "new_address", - "source_mapping": { - "start": 388, - "length": 19, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_relative": "contracts/Migrations.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_short": "Migrations.sol", - "is_dependency": false, - "lines": [ - 20 - ], - "starting_column": 22, - "ending_column": 41, - "_ext_source_hash": "caf572d15ad0074817ae66a1deb61fe5" - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "upgrade", - "source_mapping": { - "start": 371, - "length": 177, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_relative": "contracts/Migrations.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_short": "Migrations.sol", - "is_dependency": false, - "lines": [ - 20, - 21, - 22, - 23 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Migrations", - "source_mapping": { - "start": 26, - "length": 524, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_relative": "contracts/Migrations.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_short": "Migrations.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "upgrade(address)" - } - } - }, - "additional_fields": { - "target": "parameter", - "convention": "mixedCase" - } - } - ], - "description": "Parameter Migrations.upgrade(address).new_address (Migrations.sol#20) is not in mixedCase\n", - "markdown": "Parameter [Migrations.upgrade(address).new_address](contracts/Migrations.sol#L20) is not in mixedCase\n", - "id": "55f7d6b26d892a277a781821b570896d26270a8b408f642dd6a113396099348e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "last_completed_migration", - "source_mapping": { - "start": 78, - "length": 36, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_relative": "contracts/Migrations.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_short": "Migrations.sol", - "is_dependency": false, - "lines": [ - 6 - ], - "starting_column": 5, - "ending_column": 41, - "_ext_source_hash": "0a9fa5cff94b034ec16de9331b94de7d" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "Migrations", - "source_mapping": { - "start": 26, - "length": 524, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_relative": "contracts/Migrations.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/Migrations.sol", - "filename_short": "Migrations.sol", - "is_dependency": false, - "lines": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24 - ], - "starting_column": 1, - "ending_column": null - } - } - }, - "additional_fields": { - "target": "variable", - "convention": "mixedCase" - } - } - ], - "description": "Variable Migrations.last_completed_migration (Migrations.sol#6) is not in mixedCase\n", - "markdown": "Variable [Migrations.last_completed_migration](contracts/Migrations.sol#L6) is not in mixedCase\n", - "id": "1c519270c8b5a9bb371bf1748043cc37c217423cf64986d3d048bab9deef929e", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "CAP", - "source_mapping": { - "start": 326, - "length": 44, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISkaleToken.sol", - "filename_relative": "contracts/interfaces/ISkaleToken.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISkaleToken.sol", - "filename_short": "interfaces/ISkaleToken.sol", - "is_dependency": false, - "lines": [ - 12 - ], - "starting_column": 5, - "ending_column": 49, - "_ext_source_hash": "ad5d809d2e2070c556d52f801ed0695b" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ISkaleToken", - "source_mapping": { - "start": 25, - "length": 347, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISkaleToken.sol", - "filename_relative": "contracts/interfaces/ISkaleToken.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/contracts/interfaces/ISkaleToken.sol", - "filename_short": "interfaces/ISkaleToken.sol", - "is_dependency": false, - "lines": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13 - ], - "starting_column": 1, - "ending_column": null - } - }, - "signature": "CAP()" - }, - "additional_fields": { - "target": "function", - "convention": "mixedCase" - } - } - ], - "description": "Function ISkaleToken.CAP() (interfaces/ISkaleToken.sol#12) is not in mixedCase\n", - "markdown": "Function [ISkaleToken.CAP()](contracts/interfaces/ISkaleToken.sol#L12) is not in mixedCase\n", - "id": "98d38786744518c4695b7f4a35988c22d22cbec26247d7b94e96192c9aed25ea", - "check": "naming-convention", - "impact": "Informational", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "name", - "source_mapping": { - "start": 3201, - "length": 81, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 87, - 88, - 89 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "e37904221a7b2a97dfe7a9c94b3f432f" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "name()" - } - } - ], - "description": "name() should be declared external:\n\t- ERC777.name() (@openzeppelin/contracts/token/ERC777/ERC777.sol#87-89)\n", - "markdown": "name() should be declared external:\n\t- [ERC777.name()](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L87-L89)\n", - "id": "240cb3b6e5f31a7846d682265f3695e364c31efc3d18cc6b1fea67c8ca82b43f", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "symbol", - "source_mapping": { - "start": 3338, - "length": 85, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 94, - 95, - 96 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "3903c7de246ae25098a0f1c394d4b139" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "symbol()" - } - } - ], - "description": "symbol() should be declared external:\n\t- ERC777.symbol() (@openzeppelin/contracts/token/ERC777/ERC777.sol#94-96)\n", - "markdown": "symbol() should be declared external:\n\t- [ERC777.symbol()](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L94-L96)\n", - "id": "2a94d32cf687114b6b009ce96845a4839ce81d3628c45aacb71db8e4026c21e1", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "decimals", - "source_mapping": { - "start": 3615, - "length": 74, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 104, - 105, - 106 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "937664b030e24bd28c696d3684838546" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "decimals()" - } - } - ], - "description": "decimals() should be declared external:\n\t- ERC777.decimals() (@openzeppelin/contracts/token/ERC777/ERC777.sol#104-106)\n", - "markdown": "decimals() should be declared external:\n\t- [ERC777.decimals()](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L104-L106)\n", - "id": "04970385c7543a53c701e140c54ae8b205df2efbceb1d0009f7c571c5d2cfb9f", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "granularity", - "source_mapping": { - "start": 3804, - "length": 78, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 113, - 114, - 115 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "851c18d985da32dfbc94f40e65dcffb6" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "granularity()" - } - } - ], - "description": "granularity() should be declared external:\n\t- ERC777.granularity() (@openzeppelin/contracts/token/ERC777/ERC777.sol#113-115)\n", - "markdown": "granularity() should be declared external:\n\t- [ERC777.granularity()](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L113-L115)\n", - "id": "6a269242906d4698a2c00a2a39199ec98732ed2a5c430bcc09f76ae36a7780f2", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "balanceOf", - "source_mapping": { - "start": 4132, - "length": 116, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 127, - 128, - 129 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "62bd24506fcffbec068a49479bed9bcf" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "balanceOf(address)" - } - } - ], - "description": "balanceOf(address) should be declared external:\n\t- ERC777.balanceOf(address) (@openzeppelin/contracts/token/ERC777/ERC777.sol#127-129)\n", - "markdown": "balanceOf(address) should be declared external:\n\t- [ERC777.balanceOf(address)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L127-L129)\n", - "id": "1006e87fc3c0fabe24153cb53d1123befd63741beab9859af87e8228bd84f4c6", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "defaultOperators", - "source_mapping": { - "start": 6762, - "length": 113, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 216, - 217, - 218 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "79f4b788c4ce71042d21f57f78516d7f" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "defaultOperators()" - } - } - ], - "description": "defaultOperators() should be declared external:\n\t- ERC777.defaultOperators() (@openzeppelin/contracts/token/ERC777/ERC777.sol#216-218)\n", - "markdown": "defaultOperators() should be declared external:\n\t- [ERC777.defaultOperators()](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L216-L218)\n", - "id": "334d28879ff9b42366282d00bfa5c4bf82319e5a49f0c6c41fbcf16deaed1a74", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "allowance", - "source_mapping": { - "start": 7997, - "length": 134, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.sol", - "is_dependency": true, - "lines": [ - 255, - 256, - 257 - ], - "starting_column": 5, - "ending_column": 6, - "_ext_source_hash": "1d921b8762e476523489677a80dd5e8b" - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "ERC777", - "source_mapping": { - "start": 976, - "length": 15007, - "filename_used": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_absolute": "/Users/payvint/Documents/Blockchain/skale-manager/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol", - "filename_short": "@openzeppelin/contracts/token/ERC777/ERC777.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, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271, - 272, - 273, - 274, - 275, - 276, - 277, - 278, - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, - 302, - 303, - 304, - 305, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313, - 314, - 315, - 316, - 317, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 325, - 326, - 327, - 328, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 346, - 347, - 348, - 349, - 350, - 351, - 352, - 353, - 354, - 355, - 356, - 357, - 358, - 359, - 360, - 361, - 362, - 363, - 364, - 365, - 366, - 367, - 368, - 369, - 370, - 371, - 372, - 373, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, - 390, - 391, - 392, - 393, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411, - 412, - 413, - 414, - 415, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, - 435, - 436, - 437, - 438, - 439, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, - 457, - 458, - 459, - 460, - 461, - 462, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "allowance(address,address)" - } - } - ], - "description": "allowance(address,address) should be declared external:\n\t- ERC777.allowance(address,address) (@openzeppelin/contracts/token/ERC777/ERC777.sol#255-257)\n", - "markdown": "allowance(address,address) should be declared external:\n\t- [ERC777.allowance(address,address)](node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol#L255-L257)\n", - "id": "0fc99e12e6592fb2164cb1ca8c11da562de6fb8c86e2b660ff411581fff1c650", - "check": "external-function", - "impact": "Optimization", - "confidence": "High" - } -] \ No newline at end of file From 84857b63e579d1a70c46338beba412eeb9ce5815 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Tue, 25 Feb 2020 18:29:32 +0200 Subject: [PATCH 5/8] Changed block number to timestamp --- contracts/SkaleDKG.sol | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/contracts/SkaleDKG.sol b/contracts/SkaleDKG.sol index 84a04e219..a8254ce4e 100644 --- a/contracts/SkaleDKG.sol +++ b/contracts/SkaleDKG.sol @@ -57,10 +57,10 @@ contract SkaleDKG is Permissions { Fp2 publicKeyy; uint numberOfCompleted; bool[] completed; - uint startedBlockNumber; + uint startedBlockTimestamp; uint nodeToComplaint; uint fromNodeToComplaint; - uint startComplaintBlockNumber; + uint startComplaintBlockTimestamp; } struct Fp2 { @@ -187,17 +187,17 @@ contract SkaleDKG is Permissions { // need to wait a response from toNodeIndex channels[groupIndex].nodeToComplaint = toNodeIndex; channels[groupIndex].fromNodeToComplaint = fromNodeIndex; - channels[groupIndex].startComplaintBlockNumber = block.number; + channels[groupIndex].startComplaintBlockTimestamp = block.timestamp; emit ComplaintSent(groupIndex, fromNodeIndex, toNodeIndex); } else if (isBroadcasted(groupIndex, toNodeIndex) && channels[groupIndex].nodeToComplaint != toNodeIndex) { revert("One complaint has already sent"); } else if (isBroadcasted(groupIndex, toNodeIndex) && channels[groupIndex].nodeToComplaint == toNodeIndex) { - require(channels[groupIndex].startComplaintBlockNumber.add(120) <= block.number, "One more complaint rejected"); + require(channels[groupIndex].startComplaintBlockTimestamp.add(1800) <= block.timestamp, "One more complaint rejected"); // need to penalty Node - toNodeIndex finalizeSlashing(groupIndex, channels[groupIndex].nodeToComplaint); } else if (!isBroadcasted(groupIndex, toNodeIndex)) { // if node have not broadcasted params - require(channels[groupIndex].startedBlockNumber.add(120) <= block.number, "Complaint rejected"); + require(channels[groupIndex].startedBlockTimestamp.add(1800) <= block.timestamp, "Complaint rejected"); // need to penalty Node - toNodeIndex finalizeSlashing(groupIndex, channels[groupIndex].nodeToComplaint); } @@ -215,12 +215,6 @@ contract SkaleDKG is Permissions { { require(channels[groupIndex].nodeToComplaint == fromNodeIndex, "Not this Node"); require(isNodeByMessageSender(fromNodeIndex, msg.sender), "Node does not exist for message sender"); - - // uint secret = decryptMessage(groupIndex, secretNumber); - - // DKG verification(secret key contribution, verification vector) - // uint indexOfNode = findNode(groupIndex, fromNodeIndex); - // bytes memory verVec = data[groupIndex][indexOfNode].verificationVector; bool verificationResult = verify( groupIndex, fromNodeIndex, @@ -275,13 +269,13 @@ contract SkaleDKG is Permissions { bool complaintSending = channels[groupIndex].nodeToComplaint == uint(-1) || ( channels[groupIndex].broadcasted[indexTo] && - channels[groupIndex].startComplaintBlockNumber.add(120) <= block.number && + channels[groupIndex].startComplaintBlockTimestamp.add(1800) <= block.timestamp && channels[groupIndex].nodeToComplaint == toNodeIndex ) || ( !channels[groupIndex].broadcasted[indexTo] && channels[groupIndex].nodeToComplaint == toNodeIndex && - channels[groupIndex].startedBlockNumber.add(120) <= block.number + channels[groupIndex].startedBlockTimestamp.add(1800) <= block.timestamp ); return channels[groupIndex].active && indexFrom < IGroupsData(channels[groupIndex].dataAddress).getNumberOfNodesInGroup(groupIndex) && From 94bc819510aced6ccc691fe5c8d99b5818d02648 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Wed, 26 Feb 2020 14:20:59 +0200 Subject: [PATCH 6/8] Changed migration --- migrations/1_deploy_skale_manager_system.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/migrations/1_deploy_skale_manager_system.js b/migrations/1_deploy_skale_manager_system.js index 6272246c8..aced40add 100644 --- a/migrations/1_deploy_skale_manager_system.js +++ b/migrations/1_deploy_skale_manager_system.js @@ -135,13 +135,13 @@ async function deploy(deployer, networkName, accounts) { }); } - let skaleTokenInst = await deployer.deploy(SkaleToken, contractManager.address, [], {gas: gasLimit * gas_multiplier}).then(async function(inst) { - return inst; - }); + await deployer.deploy(SkaleToken, contractManager.address, [], {gas: gasLimit * gas_multiplier}); await contractManager.methods.setContractsAddress("SkaleToken", SkaleToken.address).send({from: deployAccount}).then(function(res) { console.log("Contract Skale Token with address", SkaleToken.address, "registred in Contract Manager"); }); + // TODO: Remove after testing + const skaleTokenInst = await SkaleToken.deployed(); await skaleTokenInst.send( deployed.get("SkaleBalances").address, "1000000000000000000000000000", From 0b8d71c81a32656fc901751d759d0ee20ec2c092 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Wed, 26 Feb 2020 17:58:50 +0200 Subject: [PATCH 7/8] Fixed tests --- test/SchainsFunctionality.ts | 5 +++++ test/SkaleToken.ts | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/test/SchainsFunctionality.ts b/test/SchainsFunctionality.ts index 7a5ff41c8..13e35f2a9 100644 --- a/test/SchainsFunctionality.ts +++ b/test/SchainsFunctionality.ts @@ -444,11 +444,16 @@ contract("SchainsFunctionality", ([owner, holder, validator]) => { obtainedPart, obtainedLifetime, obtainedStartDate, + obtainedBlock, obtainedDeposit, obtainedIndex] = schainsArray; obtainedSchainName.should.be.equal("d2"); obtainedSchainOwner.should.be.equal(holder); + console.log(obtainedPart.toString()); + console.log(obtainedLifetime.toString()); + console.log(obtainedDeposit.toString()); + console.log(deposit.toString()); expect(obtainedPart.eq(web3.utils.toBN(1))).be.true; expect(obtainedLifetime.eq(web3.utils.toBN(5))).be.true; expect(obtainedDeposit.eq(web3.utils.toBN(deposit))).be.true; diff --git a/test/SkaleToken.ts b/test/SkaleToken.ts index edc803a9f..ecfbdb8b8 100644 --- a/test/SkaleToken.ts +++ b/test/SkaleToken.ts @@ -15,7 +15,7 @@ contract("SkaleToken", ([owner, holder, receiver, nilAddress, accountWith99]) => let contractManager: ContractManagerInstance; const TOKEN_CAP: number = 7000000000; - const TOTAL_SUPPLY = 10000000; + const TOTAL_SUPPLY = 5000000000; console.log("Holder", holder); console.log("Owner", owner); @@ -99,7 +99,7 @@ contract("SkaleToken", ([owner, holder, receiver, nilAddress, accountWith99]) => it("an owner address should have more than 0 tokens", async () => { const balance = new BigNumber(await skaleToken.balanceOf(owner)); - assert(balance.isEqualTo(toWei(10000000))); + expect(balance.isEqualTo(toWei(5000000000))); }); it("should emit a Transfer Event", async () => { From 8a282aed3e27acf270db4ad34f92c3d0fd8ab3ea Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Thu, 27 Feb 2020 12:23:29 +0200 Subject: [PATCH 8/8] Add getPreviousGroupsPublicKey --- contracts/GroupsData.sol | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/contracts/GroupsData.sol b/contracts/GroupsData.sol index 039e62d82..aa157ef70 100644 --- a/contracts/GroupsData.sol +++ b/contracts/GroupsData.sol @@ -226,6 +226,19 @@ contract GroupsData is IGroupsData, Permissions { ); } + function getPreviousGroupsPublicKey(bytes32 groupIndex) external view returns (uint, uint, uint, uint) { + uint length = previousPublicKeys[groupIndex].length; + if (length == 0) { + return (0, 0, 0, 0); + } + return ( + previousPublicKeys[groupIndex][length - 1][0], + previousPublicKeys[groupIndex][length - 1][1], + previousPublicKeys[groupIndex][length - 1][2], + previousPublicKeys[groupIndex][length - 1][3] + ); + } + function isGroupFailedDKG(bytes32 groupIndex) external view returns (bool) { return !groups[groupIndex].succesfulDKG; }