-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathslither.db.json
1 lines (1 loc) · 260 KB
/
slither.db.json
1
[{"elements": [{"type": "function", "name": "mint", "source_mapping": {"start": 625, "length": 292, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TigerNFT", "source_mapping": {"start": 229, "length": 1120, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint()"}}, {"type": "node", "name": "_safeMint(msg.sender,tokenId)", "source_mapping": {"start": 811, "length": 30, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 625, "length": 292, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TigerNFT", "source_mapping": {"start": 229, "length": 1120, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)", "source_mapping": {"start": 17068, "length": 616, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkOnERC721Received", "source_mapping": {"start": 16918, "length": 782, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC721", "source_mapping": {"start": 776, "length": 16926, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483], "starting_column": 1, "ending_column": 2}}, "signature": "_checkOnERC721Received(address,address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_safeMint(msg.sender,tokenId)", "source_mapping": {"start": 811, "length": 30, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 625, "length": 292, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TigerNFT", "source_mapping": {"start": 229, "length": 1120, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)", "source_mapping": {"start": 17068, "length": 616, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkOnERC721Received", "source_mapping": {"start": 16918, "length": 782, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC721", "source_mapping": {"start": 776, "length": 16926, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483], "starting_column": 1, "ending_column": 2}}, "signature": "_checkOnERC721Received(address,address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_tokenOwners[tokenId] = msg.sender", "source_mapping": {"start": 851, "length": 34, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [25], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 625, "length": 292, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TigerNFT", "source_mapping": {"start": 229, "length": 1120, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_tokenOwners"}}], "description": "Reentrancy in TigerNFT.mint() (contracts/task-1/tigernft.sol#20-26):\n\tExternal calls:\n\t- _safeMint(msg.sender,tokenId) (contracts/task-1/tigernft.sol#24)\n\t\t- retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data) (node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#467-480)\n\tState variables written after the call(s):\n\t- _tokenOwners[tokenId] = msg.sender (contracts/task-1/tigernft.sol#25)\n", "markdown": "Reentrancy in [TigerNFT.mint()](contracts/task-1/tigernft.sol#L20-L26):\n\tExternal calls:\n\t- [_safeMint(msg.sender,tokenId)](contracts/task-1/tigernft.sol#L24)\n\t\t- [retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)](node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#L467-L480)\n\tState variables written after the call(s):\n\t- [_tokenOwners[tokenId] = msg.sender](contracts/task-1/tigernft.sol#L25)\n", "first_markdown_element": "contracts/task-1/tigernft.sol#L20-L26", "id": "dfbe79e7bffd182888b4a2202b306aae00a49b0cb7a4a63d09ca08a02d9f7862", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mint", "source_mapping": {"start": 625, "length": 286, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MyERC721", "source_mapping": {"start": 229, "length": 1114, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address)"}}, {"type": "node", "name": "_safeMint(to,tokenId)", "source_mapping": {"start": 821, "length": 22, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 625, "length": 286, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MyERC721", "source_mapping": {"start": 229, "length": 1114, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)", "source_mapping": {"start": 17068, "length": 616, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkOnERC721Received", "source_mapping": {"start": 16918, "length": 782, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC721", "source_mapping": {"start": 776, "length": 16926, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483], "starting_column": 1, "ending_column": 2}}, "signature": "_checkOnERC721Received(address,address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_safeMint(to,tokenId)", "source_mapping": {"start": 821, "length": 22, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 625, "length": 286, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MyERC721", "source_mapping": {"start": 229, "length": 1114, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)", "source_mapping": {"start": 17068, "length": 616, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkOnERC721Received", "source_mapping": {"start": 16918, "length": 782, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC721", "source_mapping": {"start": 776, "length": 16926, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483], "starting_column": 1, "ending_column": 2}}, "signature": "_checkOnERC721Received(address,address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_tokenOwners[tokenId] = to", "source_mapping": {"start": 853, "length": 26, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [25], "starting_column": 9, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 625, "length": 286, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MyERC721", "source_mapping": {"start": 229, "length": 1114, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_tokenOwners"}}], "description": "Reentrancy in MyERC721.mint(address) (contracts/task-2/myERC721.sol#20-26):\n\tExternal calls:\n\t- _safeMint(to,tokenId) (contracts/task-2/myERC721.sol#24)\n\t\t- retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data) (node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#467-480)\n\tState variables written after the call(s):\n\t- _tokenOwners[tokenId] = to (contracts/task-2/myERC721.sol#25)\n", "markdown": "Reentrancy in [MyERC721.mint(address)](contracts/task-2/myERC721.sol#L20-L26):\n\tExternal calls:\n\t- [_safeMint(to,tokenId)](contracts/task-2/myERC721.sol#L24)\n\t\t- [retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)](node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#L467-L480)\n\tState variables written after the call(s):\n\t- [_tokenOwners[tokenId] = to](contracts/task-2/myERC721.sol#L25)\n", "first_markdown_element": "contracts/task-2/myERC721.sol#L20-L26", "id": "75cb69bd57a3f3ff6948c8bd25b2427dc8eafc9bdae13c634643eb51fd9946e0", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mint", "source_mapping": {"start": 627, "length": 286, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TigerNFTT3", "source_mapping": {"start": 229, "length": 1116, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address)"}}, {"type": "node", "name": "_safeMint(to,tokenId)", "source_mapping": {"start": 823, "length": 22, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 627, "length": 286, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TigerNFTT3", "source_mapping": {"start": 229, "length": 1116, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)", "source_mapping": {"start": 17068, "length": 616, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkOnERC721Received", "source_mapping": {"start": 16918, "length": 782, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC721", "source_mapping": {"start": 776, "length": 16926, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483], "starting_column": 1, "ending_column": 2}}, "signature": "_checkOnERC721Received(address,address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_safeMint(to,tokenId)", "source_mapping": {"start": 823, "length": 22, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [24], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 627, "length": 286, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TigerNFTT3", "source_mapping": {"start": 229, "length": 1116, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)", "source_mapping": {"start": 17068, "length": 616, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkOnERC721Received", "source_mapping": {"start": 16918, "length": 782, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC721", "source_mapping": {"start": 776, "length": 16926, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483], "starting_column": 1, "ending_column": 2}}, "signature": "_checkOnERC721Received(address,address,uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_tokenOwners[tokenId] = to", "source_mapping": {"start": 855, "length": 26, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [25], "starting_column": 9, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 627, "length": 286, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TigerNFTT3", "source_mapping": {"start": 229, "length": 1116, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "starting_column": 1, "ending_column": 2}}, "signature": "mint(address)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_tokenOwners"}}], "description": "Reentrancy in TigerNFTT3.mint(address) (contracts/task-3/TigernftT3.sol#20-26):\n\tExternal calls:\n\t- _safeMint(to,tokenId) (contracts/task-3/TigernftT3.sol#24)\n\t\t- retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data) (node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#467-480)\n\tState variables written after the call(s):\n\t- _tokenOwners[tokenId] = to (contracts/task-3/TigernftT3.sol#25)\n", "markdown": "Reentrancy in [TigerNFTT3.mint(address)](contracts/task-3/TigernftT3.sol#L20-L26):\n\tExternal calls:\n\t- [_safeMint(to,tokenId)](contracts/task-3/TigernftT3.sol#L24)\n\t\t- [retval = IERC721Receiver(to).onERC721Received(_msgSender(),from,tokenId,data)](node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#L467-L480)\n\tState variables written after the call(s):\n\t- [_tokenOwners[tokenId] = to](contracts/task-3/TigernftT3.sol#L25)\n", "first_markdown_element": "contracts/task-3/TigernftT3.sol#L20-L26", "id": "fd9010d91ed7ddd60b638bc380ea14532dcb6f095f4dacd18681bd50deae469e", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "checkReward", "source_mapping": {"start": 3050, "length": 239, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "checkReward(address)"}}, {"type": "node", "name": "stakeInfo.tokenId == 0", "source_mapping": {"start": 3182, "length": 22, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [95], "starting_column": 13, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "checkReward", "source_mapping": {"start": 3050, "length": 239, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "checkReward(address)"}}}}], "description": "NFTStaking.checkReward(address) (contracts/task-3/NFTStaking.sol#93-99) uses a dangerous strict equality:\n\t- stakeInfo.tokenId == 0 (contracts/task-3/NFTStaking.sol#95)\n", "markdown": "[NFTStaking.checkReward(address)](contracts/task-3/NFTStaking.sol#L93-L99) uses a dangerous strict equality:\n\t- [stakeInfo.tokenId == 0](contracts/task-3/NFTStaking.sol#L95)\n", "first_markdown_element": "contracts/task-3/NFTStaking.sol#L93-L99", "id": "1e22cdaffda4888e7921f8d0c947ba067d5bb1f3cb7e847892fca9ff7cfa4dac", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "stake", "source_mapping": {"start": 1140, "length": 448, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256)"}}, {"type": "node", "name": "stakableNFT.safeTransferFrom(msg.sender,address(this),tokenId)", "source_mapping": {"start": 1347, "length": 64, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [39], "starting_column": 9, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "stake", "source_mapping": {"start": 1140, "length": 448, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "stakes[msg.sender] = StakeInfo({tokenId:tokenId,lastClaimTime:block.timestamp})", "source_mapping": {"start": 1422, "length": 116, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [41, 42, 43, 44], "starting_column": 9, "ending_column": 11}, "type_specific_fields": {"parent": {"type": "function", "name": "stake", "source_mapping": {"start": 1140, "length": 448, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "stakes"}}], "description": "Reentrancy in NFTStaking.stake(uint256) (contracts/task-3/NFTStaking.sol#35-47):\n\tExternal calls:\n\t- stakableNFT.safeTransferFrom(msg.sender,address(this),tokenId) (contracts/task-3/NFTStaking.sol#39)\n\tState variables written after the call(s):\n\t- stakes[msg.sender] = StakeInfo({tokenId:tokenId,lastClaimTime:block.timestamp}) (contracts/task-3/NFTStaking.sol#41-44)\n\tNFTStaking.stakes (contracts/task-3/NFTStaking.sol#20) can be used in cross function reentrancies:\n\t- NFTStaking.checkReward(address) (contracts/task-3/NFTStaking.sol#93-99)\n\t- NFTStaking.stakes (contracts/task-3/NFTStaking.sol#20)\n", "markdown": "Reentrancy in [NFTStaking.stake(uint256)](contracts/task-3/NFTStaking.sol#L35-L47):\n\tExternal calls:\n\t- [stakableNFT.safeTransferFrom(msg.sender,address(this),tokenId)](contracts/task-3/NFTStaking.sol#L39)\n\tState variables written after the call(s):\n\t- [stakes[msg.sender] = StakeInfo({tokenId:tokenId,lastClaimTime:block.timestamp})](contracts/task-3/NFTStaking.sol#L41-L44)\n\t[NFTStaking.stakes](contracts/task-3/NFTStaking.sol#L20) can be used in cross function reentrancies:\n\t- [NFTStaking.checkReward(address)](contracts/task-3/NFTStaking.sol#L93-L99)\n\t- [NFTStaking.stakes](contracts/task-3/NFTStaking.sol#L20)\n", "first_markdown_element": "contracts/task-3/NFTStaking.sol#L35-L47", "id": "54baecd6b3853802dd49b281ae3c05735b7783da294a15320575cee175f7f34f", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "unstake", "source_mapping": {"start": 1594, "length": 422, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "unstake()"}}, {"type": "node", "name": "_claimReward(msg.sender)", "source_mapping": {"start": 1763, "length": 24, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [53], "starting_column": 9, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "function", "name": "unstake", "source_mapping": {"start": 1594, "length": 422, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "unstake()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "rewardToken.mint(user,rewardAmount)", "source_mapping": {"start": 2539, "length": 36, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [79], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "_claimReward", "source_mapping": {"start": 2223, "length": 421, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [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": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "_claimReward(address)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "stakableNFT.safeTransferFrom(address(this),msg.sender,stakeInfo.tokenId)", "source_mapping": {"start": 1798, "length": 120, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [55, 56, 57, 58, 59], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "unstake", "source_mapping": {"start": 1594, "length": 422, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "unstake()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "delete stakes[msg.sender]", "source_mapping": {"start": 1929, "length": 25, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [61], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "unstake", "source_mapping": {"start": 1594, "length": 422, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "unstake()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "stakes"}}], "description": "Reentrancy in NFTStaking.unstake() (contracts/task-3/NFTStaking.sol#49-64):\n\tExternal calls:\n\t- _claimReward(msg.sender) (contracts/task-3/NFTStaking.sol#53)\n\t\t- rewardToken.mint(user,rewardAmount) (contracts/task-3/NFTStaking.sol#79)\n\t- stakableNFT.safeTransferFrom(address(this),msg.sender,stakeInfo.tokenId) (contracts/task-3/NFTStaking.sol#55-59)\n\tState variables written after the call(s):\n\t- delete stakes[msg.sender] (contracts/task-3/NFTStaking.sol#61)\n\tNFTStaking.stakes (contracts/task-3/NFTStaking.sol#20) can be used in cross function reentrancies:\n\t- NFTStaking.checkReward(address) (contracts/task-3/NFTStaking.sol#93-99)\n\t- NFTStaking.stakes (contracts/task-3/NFTStaking.sol#20)\n", "markdown": "Reentrancy in [NFTStaking.unstake()](contracts/task-3/NFTStaking.sol#L49-L64):\n\tExternal calls:\n\t- [_claimReward(msg.sender)](contracts/task-3/NFTStaking.sol#L53)\n\t\t- [rewardToken.mint(user,rewardAmount)](contracts/task-3/NFTStaking.sol#L79)\n\t- [stakableNFT.safeTransferFrom(address(this),msg.sender,stakeInfo.tokenId)](contracts/task-3/NFTStaking.sol#L55-L59)\n\tState variables written after the call(s):\n\t- [delete stakes[msg.sender]](contracts/task-3/NFTStaking.sol#L61)\n\t[NFTStaking.stakes](contracts/task-3/NFTStaking.sol#L20) can be used in cross function reentrancies:\n\t- [NFTStaking.checkReward(address)](contracts/task-3/NFTStaking.sol#L93-L99)\n\t- [NFTStaking.stakes](contracts/task-3/NFTStaking.sol#L20)\n", "first_markdown_element": "contracts/task-3/NFTStaking.sol#L49-L64", "id": "b8abcccfd0917dea52118a0be4d57dc80ae33a57e9a696d0af13c75f4634adf3", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "stake", "source_mapping": {"start": 1140, "length": 448, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256)"}}, {"type": "node", "name": "require(bool,string)(stakes[msg.sender].tokenId == 0,Already staking)", "source_mapping": {"start": 1204, "length": 59, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [36], "starting_column": 9, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "stake", "source_mapping": {"start": 1140, "length": 448, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256)"}}}}], "description": "NFTStaking.stake(uint256) (contracts/task-3/NFTStaking.sol#35-47) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(stakes[msg.sender].tokenId == 0,Already staking) (contracts/task-3/NFTStaking.sol#36)\n", "markdown": "[NFTStaking.stake(uint256)](contracts/task-3/NFTStaking.sol#L35-L47) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(stakes[msg.sender].tokenId == 0,Already staking)](contracts/task-3/NFTStaking.sol#L36)\n", "first_markdown_element": "contracts/task-3/NFTStaking.sol#L35-L47", "id": "650f8f481e708cc1e8a479578ab70e67571e0dbe3edad2a23bf1f20de1601c7d", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_claimReward", "source_mapping": {"start": 2223, "length": 421, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [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": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "_claimReward(address)"}}, {"type": "node", "name": "require(bool,string)(stakeInfo.tokenId != 0,No token staked)", "source_mapping": {"start": 2330, "length": 50, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [73], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "_claimReward", "source_mapping": {"start": 2223, "length": 421, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [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": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "_claimReward(address)"}}}}, {"type": "node", "name": "rewardAmount > 0", "source_mapping": {"start": 2507, "length": 16, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [78], "starting_column": 13, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "function", "name": "_claimReward", "source_mapping": {"start": 2223, "length": 421, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [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": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "_claimReward(address)"}}}}], "description": "NFTStaking._claimReward(address) (contracts/task-3/NFTStaking.sol#71-82) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(stakeInfo.tokenId != 0,No token staked) (contracts/task-3/NFTStaking.sol#73)\n\t- rewardAmount > 0 (contracts/task-3/NFTStaking.sol#78)\n", "markdown": "[NFTStaking._claimReward(address)](contracts/task-3/NFTStaking.sol#L71-L82) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(stakeInfo.tokenId != 0,No token staked)](contracts/task-3/NFTStaking.sol#L73)\n\t- [rewardAmount > 0](contracts/task-3/NFTStaking.sol#L78)\n", "first_markdown_element": "contracts/task-3/NFTStaking.sol#L71-L82", "id": "0d248e09b0ea1d1a2d4cd9b5e7e452ab4a6420e499ea49e606d6bdf42f5a4cc7", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "checkReward", "source_mapping": {"start": 3050, "length": 239, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "checkReward(address)"}}, {"type": "node", "name": "stakeInfo.tokenId == 0", "source_mapping": {"start": 3182, "length": 22, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [95], "starting_column": 13, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "checkReward", "source_mapping": {"start": 3050, "length": 239, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 3281, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], "starting_column": 1, "ending_column": 2}}, "signature": "checkReward(address)"}}}}], "description": "NFTStaking.checkReward(address) (contracts/task-3/NFTStaking.sol#93-99) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- stakeInfo.tokenId == 0 (contracts/task-3/NFTStaking.sol#95)\n", "markdown": "[NFTStaking.checkReward(address)](contracts/task-3/NFTStaking.sol#L93-L99) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [stakeInfo.tokenId == 0](contracts/task-3/NFTStaking.sol#L95)\n", "first_markdown_element": "contracts/task-3/NFTStaking.sol#L93-L99", "id": "691aa3887693d842089bd9a302b2f81083ed304aff22280deb929985240fd608", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "inverse = (3 * denominator) ^ 2", "source_mapping": {"start": 6775, "length": 39, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [184], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#184)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - [inverse = (3 * denominator) ^ 2](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L184)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202", "id": "20c302fa0a1169aee913f429dbbd7bb25b813b34650dce9b90b1b6a5534ee271", "check": "incorrect-exp", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 6073, "length": 37, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [169], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse = (3 * denominator) ^ 2", "source_mapping": {"start": 6775, "length": 39, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [184], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)\n\t- inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#184)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L169)\n\t- [inverse = (3 * denominator) ^ 2](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L184)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202", "id": "5b089250565ba35f198a4e14b93901d57714230e26bf061d2ce7f49a3e4ffe86", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 6073, "length": 37, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [169], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 7031, "length": 36, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [188], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)\n\t- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#188)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L169)\n\t- [inverse *= 2 - denominator * inverse](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L188)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202", "id": "cb2adaac50961dfadafd9142235117c5840aab047b9a27c23d73a915f50e33e1", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 6073, "length": 37, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [169], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 7100, "length": 36, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [189], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)\n\t- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#189)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L169)\n\t- [inverse *= 2 - denominator * inverse](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L189)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202", "id": "e520d3ee65b5f2a5093c0bacfa9eff2c729e07636694a0c07309623402fb2d78", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 6073, "length": 37, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [169], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 7170, "length": 36, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [190], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)\n\t- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#190)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L169)\n\t- [inverse *= 2 - denominator * inverse](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L190)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202", "id": "24c95aae6df9e42d1d99499041d1e8f3638e497621faffadd698febfe3d0a6b1", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 6073, "length": 37, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [169], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 7240, "length": 36, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [191], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)\n\t- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#191)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L169)\n\t- [inverse *= 2 - denominator * inverse](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L191)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202", "id": "63c4e085b9add14db12ee1ce4f8221e502ed9fa4eac96fd67d49330553c18eed", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 6073, "length": 37, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [169], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 7310, "length": 36, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [192], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)\n\t- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#192)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L169)\n\t- [inverse *= 2 - denominator * inverse](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L192)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202", "id": "0a0ad25c757ad0de1b7399bb733429fb17ec8f238cf096bab6073e71d3d5cd93", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 6073, "length": 37, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [169], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 7381, "length": 36, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [193], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#169)\n\t- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#193)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L169)\n\t- [inverse *= 2 - denominator * inverse](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L193)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202", "id": "d9546735d313ee15e82db1bdd88ad70a97cbc60d7af1505be67dc261d342db32", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "prod0 = prod0 / twos", "source_mapping": {"start": 6177, "length": 25, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [172], "starting_column": 17, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "result = prod0 * inverse", "source_mapping": {"start": 7851, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [199], "starting_column": 13, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) performs a multiplication on the result of a division:\n\t- prod0 = prod0 / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#172)\n\t- result = prod0 * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#199)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202) performs a multiplication on the result of a division:\n\t- [prod0 = prod0 / twos](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L172)\n\t- [result = prod0 * inverse](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L199)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202", "id": "d36d8b2429a55b69499dd5568474151025b1ebb83693d3b2245920e743ea36f7", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "stake", "source_mapping": {"start": 1002, "length": 448, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 2925, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256)"}}, {"type": "node", "name": "require(bool,string)(stakes[msg.sender].tokenId == 0,Already staking)", "source_mapping": {"start": 1066, "length": 59, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [35], "starting_column": 9, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "stake", "source_mapping": {"start": 1002, "length": 448, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 2925, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "stake(uint256)"}}}}], "description": "NFTStaking.stake(uint256) (contracts/task-3/NFTStaking.sol#34-46) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(stakes[msg.sender].tokenId == 0,Already staking) (contracts/task-3/NFTStaking.sol#35)\n", "markdown": "[NFTStaking.stake(uint256)](contracts/task-3/NFTStaking.sol#L34-L46) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(stakes[msg.sender].tokenId == 0,Already staking)](contracts/task-3/NFTStaking.sol#L35)\n", "first_markdown_element": "contracts/task-3/NFTStaking.sol#L34-L46", "id": "25a118b3c3e4a0734f91ad71be285270b39d6f0aca16e6d63d1f8d4354cb9399", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_claimReward", "source_mapping": {"start": 1976, "length": 421, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 2925, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "_claimReward(address)"}}, {"type": "node", "name": "require(bool,string)(stakeInfo.tokenId != 0,No token staked)", "source_mapping": {"start": 2083, "length": 50, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [71], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "_claimReward", "source_mapping": {"start": 1976, "length": 421, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 2925, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "_claimReward(address)"}}}}, {"type": "node", "name": "rewardAmount > 0", "source_mapping": {"start": 2260, "length": 16, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [76], "starting_column": 13, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "function", "name": "_claimReward", "source_mapping": {"start": 1976, "length": 421, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 2925, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "_claimReward(address)"}}}}], "description": "NFTStaking._claimReward(address) (contracts/task-3/NFTStaking.sol#69-80) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool,string)(stakeInfo.tokenId != 0,No token staked) (contracts/task-3/NFTStaking.sol#71)\n\t- rewardAmount > 0 (contracts/task-3/NFTStaking.sol#76)\n", "markdown": "[NFTStaking._claimReward(address)](contracts/task-3/NFTStaking.sol#L69-L80) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool,string)(stakeInfo.tokenId != 0,No token staked)](contracts/task-3/NFTStaking.sol#L71)\n\t- [rewardAmount > 0](contracts/task-3/NFTStaking.sol#L76)\n", "first_markdown_element": "contracts/task-3/NFTStaking.sol#L69-L80", "id": "c2283bbc4ceacf67b11fb0e3d82d3f4eab7636d78203dbe0149d0ec1ff32953a", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "checkReward", "source_mapping": {"start": 2694, "length": 239, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 2925, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "checkReward(address)"}}, {"type": "node", "name": "stakeInfo.tokenId == 0", "source_mapping": {"start": 2826, "length": 22, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [92], "starting_column": 13, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "checkReward", "source_mapping": {"start": 2694, "length": 239, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NFTStaking", "source_mapping": {"start": 289, "length": 2925, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.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, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "checkReward(address)"}}}}], "description": "NFTStaking.checkReward(address) (contracts/task-3/NFTStaking.sol#90-96) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- stakeInfo.tokenId == 0 (contracts/task-3/NFTStaking.sol#92)\n", "markdown": "[NFTStaking.checkReward(address)](contracts/task-3/NFTStaking.sol#L90-L96) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [stakeInfo.tokenId == 0](contracts/task-3/NFTStaking.sol#L92)\n", "first_markdown_element": "contracts/task-3/NFTStaking.sol#L90-L96", "id": "f55ffedee2c30378bbac5c2607c9382ed99aa9cb682a25266f5acca99b6a1098", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkOnERC721Received", "source_mapping": {"start": 16918, "length": 782, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC721", "source_mapping": {"start": 776, "length": 16926, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483], "starting_column": 1, "ending_column": 2}}, "signature": "_checkOnERC721Received(address,address,uint256,bytes)"}}, {"type": "node", "name": "", "source_mapping": {"start": 17557, "length": 95, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [476, 477, 478], "starting_column": 21, "ending_column": 22}, "type_specific_fields": {"parent": {"type": "function", "name": "_checkOnERC721Received", "source_mapping": {"start": 16918, "length": 782, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC721", "source_mapping": {"start": 776, "length": 16926, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483], "starting_column": 1, "ending_column": 2}}, "signature": "_checkOnERC721Received(address,address,uint256,bytes)"}}}}], "description": "ERC721._checkOnERC721Received(address,address,uint256,bytes) (node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#465-482) uses assembly\n\t- INLINE ASM (node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#476-478)\n", "markdown": "[ERC721._checkOnERC721Received(address,address,uint256,bytes)](node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#L465-L482) uses assembly\n\t- [INLINE ASM](node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#L476-L478)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#L465-L482", "id": "df0c3064f8e7e909e64e6e9f6ca9e2f1ca3452acc9fbfb1f6bcea09a72deb4dc", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "toString", "source_mapping": {"start": 637, "length": 698, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "is_dependency": true, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Strings", "source_mapping": {"start": 251, "length": 2847, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Strings.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], "starting_column": 1, "ending_column": 2}}, "signature": "toString(uint256)"}}, {"type": "node", "name": "", "source_mapping": {"start": 921, "length": 76, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "is_dependency": true, "lines": [30, 31, 32], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "toString", "source_mapping": {"start": 637, "length": 698, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "is_dependency": true, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Strings", "source_mapping": {"start": 251, "length": 2847, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Strings.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], "starting_column": 1, "ending_column": 2}}, "signature": "toString(uint256)"}}}}, {"type": "node", "name": "", "source_mapping": {"start": 1115, "length": 95, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "is_dependency": true, "lines": [36, 37, 38], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "toString", "source_mapping": {"start": 637, "length": 698, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "is_dependency": true, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Strings", "source_mapping": {"start": 251, "length": 2847, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Strings.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], "starting_column": 1, "ending_column": 2}}, "signature": "toString(uint256)"}}}}], "description": "Strings.toString(uint256) (node_modules/@openzeppelin/contracts/utils/Strings.sol#24-44) uses assembly\n\t- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Strings.sol#30-32)\n\t- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Strings.sol#36-38)\n", "markdown": "[Strings.toString(uint256)](node_modules/@openzeppelin/contracts/utils/Strings.sol#L24-L44) uses assembly\n\t- [INLINE ASM](node_modules/@openzeppelin/contracts/utils/Strings.sol#L30-L32)\n\t- [INLINE ASM](node_modules/@openzeppelin/contracts/utils/Strings.sol#L36-L38)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/utils/Strings.sol#L24-L44", "id": "58953117db3f737c7723fa75644f1fcb0810e61d9dca505d98a2ae81bc7b0039", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "", "source_mapping": {"start": 4383, "length": 131, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [130, 131, 132, 133], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "", "source_mapping": {"start": 5435, "length": 300, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [154, 155, 156, 157, 158, 159, 160, 161], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "", "source_mapping": {"start": 5999, "length": 371, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [167, 168, 169, 170, 171, 172, 173, 174, 175, 176], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 3803, "length": 4116, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 203, "length": 14914, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123-202) uses assembly\n\t- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#130-133)\n\t- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#154-161)\n\t- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#167-176)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202) uses assembly\n\t- [INLINE ASM](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L130-L133)\n\t- [INLINE ASM](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L154-L161)\n\t- [INLINE ASM](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L167-L176)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/utils/math/Math.sol#L123-L202", "id": "41cff80b5b39768a3e95ae37d3c658459d898638fc6fbbfefd2b65643b3e7297", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 102, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/access/Ownable.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/access/Ownable.sol", "filename_short": "node_modules/@openzeppelin/contracts/access/Ownable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 112, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol", "filename_short": "node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol", "is_dependency": true, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 105, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 106, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 125, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 107, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 108, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 116, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 127, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 101, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Context.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Context.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Context.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 109, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 101, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 114, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 115, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 103, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 109, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/task-2/MyERC20.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/MyERC20.sol", "filename_short": "contracts/task-2/MyERC20.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/task-2/minter.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/minter.sol", "filename_short": "contracts/task-2/minter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/task-3/ERC20T3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/ERC20T3.sol", "filename_short": "contracts/task-3/ERC20T3.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "2 different versions of Solidity are used:\n\t- Version constraint ^0.8.20 is used by:\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/access/Ownable.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol#3)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/utils/Context.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/utils/Strings.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#4)\n\t\t-^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#4)\n\t\t-^0.8.20 (contracts/task-1/tigernft.sol#2)\n\t\t-^0.8.20 (contracts/task-2/MyERC20.sol#2)\n\t\t-^0.8.20 (contracts/task-2/minter.sol#2)\n\t\t-^0.8.20 (contracts/task-2/myERC721.sol#2)\n\t\t-^0.8.20 (contracts/task-3/TigernftT3.sol#2)\n\t- Version constraint ^0.8.0 is used by:\n\t\t-^0.8.0 (contracts/task-3/ERC20T3.sol#2)\n\t\t-^0.8.0 (contracts/task-3/NFTStaking.sol#2)\n", "markdown": "2 different versions of Solidity are used:\n\t- Version constraint ^0.8.20 is used by:\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/access/Ownable.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol#L3)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/utils/Context.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/utils/Strings.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L4)\n\t\t-[^0.8.20](node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#L4)\n\t\t-[^0.8.20](contracts/task-1/tigernft.sol#L2)\n\t\t-[^0.8.20](contracts/task-2/MyERC20.sol#L2)\n\t\t-[^0.8.20](contracts/task-2/minter.sol#L2)\n\t\t-[^0.8.20](contracts/task-2/myERC721.sol#L2)\n\t\t-[^0.8.20](contracts/task-3/TigernftT3.sol#L2)\n\t- Version constraint ^0.8.0 is used by:\n\t\t-[^0.8.0](contracts/task-3/ERC20T3.sol#L2)\n\t\t-[^0.8.0](contracts/task-3/NFTStaking.sol#L2)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/access/Ownable.sol#L4", "id": "e95660702ca537b4cda3126b435c1947942d30904c070eee10375f4935531f90", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_baseURI", "source_mapping": {"start": 827, "length": 103, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [27, 28, 29], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MyERC721", "source_mapping": {"start": 169, "length": 1084, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.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, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 1, "ending_column": 2}}, "signature": "_baseURI()"}}], "description": "MyERC721._baseURI() (contracts/task-2/myERC721.sol#27-29) is never used and should be removed\n", "markdown": "[MyERC721._baseURI()](contracts/task-2/myERC721.sol#L27-L29) is never used and should be removed\n", "first_markdown_element": "contracts/task-2/myERC721.sol#L27-L29", "id": "7ac85823c8f41213fe6aa8052864f1e223cb814ab7446d340427ecaf29f82b51", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_baseURI", "source_mapping": {"start": 833, "length": 103, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [27, 28, 29], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TigerNFT", "source_mapping": {"start": 169, "length": 1090, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.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, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 1, "ending_column": 2}}, "signature": "_baseURI()"}}], "description": "TigerNFT._baseURI() (contracts/task-1/tigernft.sol#27-29) is never used and should be removed\n", "markdown": "[TigerNFT._baseURI()](contracts/task-1/tigernft.sol#L27-L29) is never used and should be removed\n", "first_markdown_element": "contracts/task-1/tigernft.sol#L27-L29", "id": "36ae51768c504d7724e9cfbe3369c6591526cc22b14d8deb7b471c79cba43bd9", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_baseURI", "source_mapping": {"start": 829, "length": 103, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [27, 28, 29], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TigerNFTT3", "source_mapping": {"start": 169, "length": 1086, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.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, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "starting_column": 1, "ending_column": 2}}, "signature": "_baseURI()"}}], "description": "TigerNFTT3._baseURI() (contracts/task-3/TigernftT3.sol#27-29) is never used and should be removed\n", "markdown": "[TigerNFTT3._baseURI()](contracts/task-3/TigernftT3.sol#L27-L29) is never used and should be removed\n", "first_markdown_element": "contracts/task-3/TigernftT3.sol#L27-L29", "id": "a5d8b8ad870025440264a3384000b6423eea47c7e47cc79913bd2a652cb553c6", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 102, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/access/Ownable.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/access/Ownable.sol", "filename_short": "node_modules/@openzeppelin/contracts/access/Ownable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 112, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol", "filename_short": "node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol", "is_dependency": true, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 105, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 106, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 125, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 107, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 108, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 116, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 127, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", "filename_short": "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 101, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Context.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Context.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Context.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 109, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 101, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/Strings.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 114, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 115, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 103, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/Math.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 109, "length": 24, "filename_relative": "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol", "filename_short": "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/task-1/tigernft.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-1/tigernft.sol", "filename_short": "contracts/task-1/tigernft.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/task-2/MyERC20.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/MyERC20.sol", "filename_short": "contracts/task-2/MyERC20.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/task-2/minter.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/minter.sol", "filename_short": "contracts/task-2/minter.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/task-2/myERC721.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-2/myERC721.sol", "filename_short": "contracts/task-2/myERC721.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}, {"type": "pragma", "name": "^0.8.20", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/task-3/TigernftT3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/TigernftT3.sol", "filename_short": "contracts/task-3/TigernftT3.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".20"]}}], "description": "Version constraint ^0.8.20 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- VerbatimInvalidDeduplication\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess.\nIt is used by:\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/access/Ownable.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol#3)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/Context.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/Strings.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#4)\n\t- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#4)\n\t- ^0.8.20 (contracts/task-1/tigernft.sol#2)\n\t- ^0.8.20 (contracts/task-2/MyERC20.sol#2)\n\t- ^0.8.20 (contracts/task-2/minter.sol#2)\n\t- ^0.8.20 (contracts/task-2/myERC721.sol#2)\n\t- ^0.8.20 (contracts/task-3/TigernftT3.sol#2)\n", "markdown": "Version constraint ^0.8.20 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- VerbatimInvalidDeduplication\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess.\nIt is used by:\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/access/Ownable.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol#L3)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/utils/Context.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/utils/Strings.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/utils/math/Math.sol#L4)\n\t- [^0.8.20](node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#L4)\n\t- [^0.8.20](contracts/task-1/tigernft.sol#L2)\n\t- [^0.8.20](contracts/task-2/MyERC20.sol#L2)\n\t- [^0.8.20](contracts/task-2/minter.sol#L2)\n\t- [^0.8.20](contracts/task-2/myERC721.sol#L2)\n\t- [^0.8.20](contracts/task-3/TigernftT3.sol#L2)\n", "first_markdown_element": "node_modules/@openzeppelin/contracts/access/Ownable.sol#L4", "id": "a48d617b0c41a38a74d446b53da694537cfc1bfc1b369a01c1555d9ee84810be", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/task-3/ERC20T3.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/ERC20T3.sol", "filename_short": "contracts/task-3/ERC20T3.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 32, "length": 23, "filename_relative": "contracts/task-3/NFTStaking.sol", "filename_absolute": "/Users/dhruvvarshney/Desktop/metana/metana-bootcamp/module-2/contracts/task-3/NFTStaking.sol", "filename_short": "contracts/task-3/NFTStaking.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- ^0.8.0 (contracts/task-3/ERC20T3.sol#2)\n\t- ^0.8.0 (contracts/task-3/NFTStaking.sol#2)\n", "markdown": "Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess\n\t- AbiReencodingHeadOverflowWithStaticArrayCleanup\n\t- DirtyBytesArrayToStorage\n\t- DataLocationChangeInInternalOverride\n\t- NestedCalldataArrayAbiReencodingSizeValidation\n\t- SignedImmutables\n\t- ABIDecodeTwoDimensionalArrayMemory\n\t- KeccakCaching.\nIt is used by:\n\t- [^0.8.0](contracts/task-3/ERC20T3.sol#L2)\n\t- [^0.8.0](contracts/task-3/NFTStaking.sol#L2)\n", "first_markdown_element": "contracts/task-3/ERC20T3.sol#L2", "id": "bf9261250cc516c0f70704b9853f2ab5f18ca4127d5c27cc847eddaad24cdb36", "check": "solc-version", "impact": "Informational", "confidence": "High"}]