forked from argentlabs/argent-contracts
-
Notifications
You must be signed in to change notification settings - Fork 1
/
slither.db.json
1 lines (1 loc) · 568 KB
/
slither.db.json
1
[{"elements": [{"type": "function", "name": "init", "source_mapping": {"start": 9371, "length": 71, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_relative": "contracts/modules/VersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_short": "modules/VersionManager.sol", "is_dependency": false, "lines": [221], "starting_column": 5, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "contract", "name": "VersionManager", "source_mapping": {"start": 1529, "length": 13019, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_relative": "contracts/modules/VersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_short": "modules/VersionManager.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 2042, "length": 814, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/UpgraderToVersionManager.sol", "filename_relative": "contracts/modules/UpgraderToVersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/UpgraderToVersionManager.sol", "filename_short": "modules/UpgraderToVersionManager.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "UpgraderToVersionManager", "source_mapping": {"start": 1186, "length": 1794, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/UpgraderToVersionManager.sol", "filename_relative": "contracts/modules/UpgraderToVersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/UpgraderToVersionManager.sol", "filename_short": "modules/UpgraderToVersionManager.sol", "is_dependency": false, "lines": [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}], "description": "init(address) should be declared external:\n\t- VersionManager.init(address) (modules/VersionManager.sol#221)\n\t- UpgraderToVersionManager.init(address) (modules/UpgraderToVersionManager.sol#59-76)\n", "markdown": "init(address) should be declared external:\n\t- [VersionManager.init(address)](contracts/modules/VersionManager.sol#L221)\n\t- [UpgraderToVersionManager.init(address)](contracts/modules/UpgraderToVersionManager.sol#L59-L76)\n", "id": "26b89cc901b975d44972b3f5fbe91407047a76bdaf9d28916b5ccc4c5e47b24c", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "getImplementations", "source_mapping": {"start": 4033, "length": 108, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ArgentWalletDetector.sol", "filename_relative": "contracts/infrastructure/ArgentWalletDetector.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ArgentWalletDetector.sol", "filename_short": "infrastructure/ArgentWalletDetector.sol", "is_dependency": false, "lines": [112, 113, 114], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentWalletDetector", "source_mapping": {"start": 1419, "length": 3338, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ArgentWalletDetector.sol", "filename_relative": "contracts/infrastructure/ArgentWalletDetector.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ArgentWalletDetector.sol", "filename_short": "infrastructure/ArgentWalletDetector.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 1, "ending_column": 2}}, "signature": "getImplementations()"}}], "description": "getImplementations() should be declared external:\n\t- ArgentWalletDetector.getImplementations() (infrastructure/ArgentWalletDetector.sol#112-114)\n", "markdown": "getImplementations() should be declared external:\n\t- [ArgentWalletDetector.getImplementations()](contracts/infrastructure/ArgentWalletDetector.sol#L112-L114)\n", "id": "6eaecf61b17287074dc9f11d7d60adedfb4c78edddada83e1076ed2b733be86b", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "getCodes", "source_mapping": {"start": 4213, "length": 88, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ArgentWalletDetector.sol", "filename_relative": "contracts/infrastructure/ArgentWalletDetector.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ArgentWalletDetector.sol", "filename_short": "infrastructure/ArgentWalletDetector.sol", "is_dependency": false, "lines": [119, 120, 121], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentWalletDetector", "source_mapping": {"start": 1419, "length": 3338, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ArgentWalletDetector.sol", "filename_relative": "contracts/infrastructure/ArgentWalletDetector.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ArgentWalletDetector.sol", "filename_short": "infrastructure/ArgentWalletDetector.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 1, "ending_column": 2}}, "signature": "getCodes()"}}], "description": "getCodes() should be declared external:\n\t- ArgentWalletDetector.getCodes() (infrastructure/ArgentWalletDetector.sol#119-121)\n", "markdown": "getCodes() should be declared external:\n\t- [ArgentWalletDetector.getCodes()](contracts/infrastructure/ArgentWalletDetector.sol#L119-L121)\n", "id": "f75311b1c5c48c8adcf64ec74fad15ac31a7a8bec74977e39f6501c4d25377fc", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "ord", "source_mapping": {"start": 10412, "length": 1078, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "contract", "name": "strings", "source_mapping": {"start": 2030, "length": 23405, "filename_used": "/Users/Elena/Source/argent-contracts/lib/utils/strings.sol", "filename_relative": "lib/utils/strings.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/lib/utils/strings.sol", "filename_short": "lib/utils/strings.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717], "starting_column": 1, "ending_column": null}}, "signature": "ord(strings.slice)"}}, {"type": "node", "name": "b = word / divisor", "source_mapping": {"start": 10724, "length": 23, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "function", "name": "ord", "source_mapping": {"start": 10412, "length": 1078, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "contract", "name": "strings", "source_mapping": {"start": 2030, "length": 23405, "filename_used": "/Users/Elena/Source/argent-contracts/lib/utils/strings.sol", "filename_relative": "lib/utils/strings.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/lib/utils/strings.sol", "filename_short": "lib/utils/strings.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717], "starting_column": 1, "ending_column": null}}, "signature": "ord(strings.slice)"}}}}, {"type": "node", "name": "ret = b", "source_mapping": {"start": 10785, "length": 7, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "function", "name": "ord", "source_mapping": {"start": 10412, "length": 1078, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "contract", "name": "strings", "source_mapping": {"start": 2030, "length": 23405, "filename_used": "/Users/Elena/Source/argent-contracts/lib/utils/strings.sol", "filename_relative": "lib/utils/strings.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/lib/utils/strings.sol", "filename_short": "lib/utils/strings.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717], "starting_column": 1, "ending_column": null}}, "signature": "ord(strings.slice)"}}}}, {"type": "node", "name": "ret = (ret * 64) | (b & 0x3F)", "source_mapping": {"start": 11423, "length": 29, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "function", "name": "ord", "source_mapping": {"start": 10412, "length": 1078, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "contract", "name": "strings", "source_mapping": {"start": 2030, "length": 23405, "filename_used": "/Users/Elena/Source/argent-contracts/lib/utils/strings.sol", "filename_relative": "lib/utils/strings.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/lib/utils/strings.sol", "filename_short": "lib/utils/strings.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717], "starting_column": 1, "ending_column": null}}, "signature": "ord(strings.slice)"}}}}], "description": "strings.ord(strings.slice) (wallet/BaseWallet.sol) performs a multiplication on the result of a division:\n\t-b = word / divisor (wallet/BaseWallet.sol)\n\t-ret = b (wallet/BaseWallet.sol)\n\t-ret = (ret * 64) | (b & 0x3F) (wallet/BaseWallet.sol)\n", "markdown": "[strings.ord(strings.slice)](contracts/wallet/BaseWallet.sol) performs a multiplication on the result of a division:\n\t-[b = word / divisor](contracts/wallet/BaseWallet.sol)\n\t-[ret = b](contracts/wallet/BaseWallet.sol)\n\t-[ret = (ret * 64) | (b & 0x3F)](contracts/wallet/BaseWallet.sol)\n", "id": "791b6fcd4a0874b5dbee7a2ea26d3372284e1880548460ab6ac66fc5a752ca77", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "ret", "source_mapping": {"start": 3336, "length": 8, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [87], "starting_column": 12, "ending_column": 20}, "type_specific_fields": {"parent": {"type": "function", "name": "len", "source_mapping": {"start": 3270, "length": 813, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 51, "ending_column": 17}, "type_specific_fields": {"parent": {"type": "contract", "name": "strings", "source_mapping": {"start": 2030, "length": 23405, "filename_used": "/Users/Elena/Source/argent-contracts/lib/utils/strings.sol", "filename_relative": "lib/utils/strings.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/lib/utils/strings.sol", "filename_short": "lib/utils/strings.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717], "starting_column": 1, "ending_column": null}}, "signature": "len(bytes32)"}}}}], "description": "strings.len(bytes32).ret (wallet/BaseWallet.sol#87) is a local variable never initialized\n", "markdown": "[strings.len(bytes32).ret](contracts/wallet/BaseWallet.sol#L87) is a local variable never initialized\n", "id": "7ff6ae5e1065edb83d605f1966f3e452952c6a07fa475199d76c3584cdbeaa42", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "recoverToken", "source_mapping": {"start": 3109, "length": 176, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_short": "infrastructure_0.5/ModuleRegistry.sol", "is_dependency": false, "lines": [88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ModuleRegistry", "source_mapping": {"start": 1003, "length": 3863, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_short": "infrastructure_0.5/ModuleRegistry.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}, {"type": "node", "name": "ERC20(_token).transfer(msg.sender,total)", "source_mapping": {"start": 3237, "length": 41, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_short": "infrastructure_0.5/ModuleRegistry.sol", "is_dependency": false, "lines": [90], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "recoverToken", "source_mapping": {"start": 3109, "length": 176, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_short": "infrastructure_0.5/ModuleRegistry.sol", "is_dependency": false, "lines": [88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ModuleRegistry", "source_mapping": {"start": 1003, "length": 3863, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_short": "infrastructure_0.5/ModuleRegistry.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}}}], "description": "ModuleRegistry.recoverToken(address) (infrastructure_0.5/ModuleRegistry.sol#88-91) ignores return value by ERC20(_token).transfer(msg.sender,total) (infrastructure_0.5/ModuleRegistry.sol#90)\n", "markdown": "[ModuleRegistry.recoverToken(address)](contracts/infrastructure_0.5/ModuleRegistry.sol#L88-L91) ignores return value by [ERC20(_token).transfer(msg.sender,total)](contracts/infrastructure_0.5/ModuleRegistry.sol#L90)\n", "id": "41fbcd0b9d8141f132deb3d6bc28e164003eb789f1b13973222664f22be39bd1", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "debt", "source_mapping": {"start": 15910, "length": 720, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "debt(uint256)"}}, {"type": "node", "name": "_fullRepayment = art.mul(rate).div(RAY).add(1).add(art - art.mul(rate).div(RAY).mul(RAY).div(rate))", "source_mapping": {"start": 16334, "length": 217, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [433, 434, 435], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "debt", "source_mapping": {"start": 15910, "length": 720, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "debt(uint256)"}}}}], "description": "MakerV2Loan.debt(uint256) (modules/maker/MakerV2Loan.sol#421-437) performs a multiplication on the result of a division:\n\t-_fullRepayment = art.mul(rate).div(RAY).add(1).add(art - art.mul(rate).div(RAY).mul(RAY).div(rate)) (modules/maker/MakerV2Loan.sol#433-435)\n", "markdown": "[MakerV2Loan.debt(uint256)](contracts/modules/maker/MakerV2Loan.sol#L421-L437) performs a multiplication on the result of a division:\n\t-[_fullRepayment = art.mul(rate).div(RAY).add(1).add(art - art.mul(rate).div(RAY).mul(RAY).div(rate))](contracts/modules/maker/MakerV2Loan.sol#L433-L435)\n", "id": "daa4142f349227eeaf685236dc5433ec6d70fa972360247494f316dac5b5b666", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "closeLoan", "source_mapping": {"start": 5508, "length": 937, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2024, "length": 17780, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469], "starting_column": 1, "ending_column": 2}}, "signature": "closeLoan(address,bytes32)"}}, {"type": "node", "name": "collateral == 0", "source_mapping": {"start": 6085, "length": 15, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [144], "starting_column": 21, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "function", "name": "closeLoan", "source_mapping": {"start": 5508, "length": 937, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2024, "length": 17780, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469], "starting_column": 1, "ending_column": 2}}, "signature": "closeLoan(address,bytes32)"}}}}], "description": "CompoundManager.closeLoan(address,bytes32) (modules/CompoundManager.sol#129-155) uses a dangerous strict equality:\n\t- collateral == 0 (modules/CompoundManager.sol#144)\n", "markdown": "[CompoundManager.closeLoan(address,bytes32)](contracts/modules/CompoundManager.sol#L129-L155) uses a dangerous strict equality:\n\t- [collateral == 0](contracts/modules/CompoundManager.sol#L144)\n", "id": "11cd45dd4e312ba1c2eaf16bd09666f25405955e9b2e3e5a956e7b9a9e99f485", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "exitMarketIfNeeded", "source_mapping": {"start": 19409, "length": 393, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [462, 463, 464, 465, 466, 467, 468], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2024, "length": 17780, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469], "starting_column": 1, "ending_column": 2}}, "signature": "exitMarketIfNeeded(address,address,address)"}}, {"type": "node", "name": "collateral == 0 && debt == 0", "source_mapping": {"start": 19646, "length": 28, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [465], "starting_column": 13, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "exitMarketIfNeeded", "source_mapping": {"start": 19409, "length": 393, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [462, 463, 464, 465, 466, 467, 468], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2024, "length": 17780, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469], "starting_column": 1, "ending_column": 2}}, "signature": "exitMarketIfNeeded(address,address,address)"}}}}], "description": "CompoundManager.exitMarketIfNeeded(address,address,address) (modules/CompoundManager.sol#462-468) uses a dangerous strict equality:\n\t- collateral == 0 && debt == 0 (modules/CompoundManager.sol#465)\n", "markdown": "[CompoundManager.exitMarketIfNeeded(address,address,address)](contracts/modules/CompoundManager.sol#L462-L468) uses a dangerous strict equality:\n\t- [collateral == 0 && debt == 0](contracts/modules/CompoundManager.sol#L465)\n", "id": "b586da6b7d0f435c718cb06c4e0f8ae67502620407dfd585276f04ce5a350288", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "notWhenRecovery", "source_mapping": {"start": 3001, "length": 164, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [76, 77, 78, 79], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RecoveryManager", "source_mapping": {"start": 1285, "length": 7878, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215], "starting_column": 1, "ending_column": null}}, "signature": "notWhenRecovery(address)"}}, {"type": "node", "name": "require(bool,string)(recoveryConfigs[_wallet].executeAfter == 0,RM: there cannot be an ongoing recovery)", "source_mapping": {"start": 3053, "length": 94, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [77], "starting_column": 9, "ending_column": 103}, "type_specific_fields": {"parent": {"type": "function", "name": "notWhenRecovery", "source_mapping": {"start": 3001, "length": 164, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [76, 77, 78, 79], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RecoveryManager", "source_mapping": {"start": 1285, "length": 7878, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215], "starting_column": 1, "ending_column": null}}, "signature": "notWhenRecovery(address)"}}}}], "description": "RecoveryManager.notWhenRecovery(address) (modules/RecoveryManager.sol#76-79) uses a dangerous strict equality:\n\t- require(bool,string)(recoveryConfigs[_wallet].executeAfter == 0,RM: there cannot be an ongoing recovery) (modules/RecoveryManager.sol#77)\n", "markdown": "[RecoveryManager.notWhenRecovery(address)](contracts/modules/RecoveryManager.sol#L76-L79) uses a dangerous strict equality:\n\t- [require(bool,string)(recoveryConfigs[_wallet].executeAfter == 0,RM: there cannot be an ongoing recovery)](contracts/modules/RecoveryManager.sol#L77)\n", "id": "99ff545bfd47b744fa4ee5fbd8df786146d9e07b106455d48b1317f7a9f3e531", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "giveVault", "source_mapping": {"start": 11163, "length": 335, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(address,bytes32)"}}, {"type": "node", "name": "cdpManager.give(uint256(_loanId),msg.sender)", "source_mapping": {"start": 11404, "length": 45, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [304], "starting_column": 9, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "giveVault", "source_mapping": {"start": 11163, "length": 335, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(address,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "onlyNewVersion()", "source_mapping": {"start": 11298, "length": 14, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [300], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "giveVault", "source_mapping": {"start": 11163, "length": 335, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(address,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "(success,res) = msg.sender.call(abi.encodeWithSignature(isNewVersion(address),address(this)))", "source_mapping": {"start": 3822, "length": 115, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [92], "starting_column": 9, "ending_column": 124}, "type_specific_fields": {"parent": {"type": "function", "name": "onlyNewVersion", "source_mapping": {"start": 3786, "length": 269, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "onlyNewVersion()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "clearLoanOwner(_wallet,_loanId)", "source_mapping": {"start": 11459, "length": 32, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [305], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "giveVault", "source_mapping": {"start": 11163, "length": 335, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(address,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}, {"type": "node", "name": "delete loanIds[_wallet][cdpManager.ilks(uint256(_loanId))]", "source_mapping": {"start": 12466, "length": 58, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [330], "starting_column": 9, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "clearLoanOwner", "source_mapping": {"start": 12389, "length": 142, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [329, 330, 331], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "clearLoanOwner(address,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}], "description": "Reentrancy in MakerV2Loan.giveVault(address,bytes32) (modules/maker/MakerV2Loan.sol#294-306):\n\tExternal calls:\n\t- cdpManager.give(uint256(_loanId),msg.sender) (modules/maker/MakerV2Loan.sol#304)\n\t- onlyNewVersion() (modules/maker/MakerV2Loan.sol#300)\n\t\t- (success,res) = msg.sender.call(abi.encodeWithSignature(isNewVersion(address),address(this))) (modules/maker/MakerV2Loan.sol#92)\n\tState variables written after the call(s):\n\t- clearLoanOwner(_wallet,_loanId) (modules/maker/MakerV2Loan.sol#305)\n\t\t- delete loanIds[_wallet][cdpManager.ilks(uint256(_loanId))] (modules/maker/MakerV2Loan.sol#330)\n", "markdown": "Reentrancy in [MakerV2Loan.giveVault(address,bytes32)](contracts/modules/maker/MakerV2Loan.sol#L294-L306):\n\tExternal calls:\n\t- [cdpManager.give(uint256(_loanId),msg.sender)](contracts/modules/maker/MakerV2Loan.sol#L304)\n\t- [onlyNewVersion()](contracts/modules/maker/MakerV2Loan.sol#L300)\n\t\t- [(success,res) = msg.sender.call(abi.encodeWithSignature(isNewVersion(address),address(this)))](contracts/modules/maker/MakerV2Loan.sol#L92)\n\tState variables written after the call(s):\n\t- [clearLoanOwner(_wallet,_loanId)](contracts/modules/maker/MakerV2Loan.sol#L305)\n\t\t- [delete loanIds[_wallet][cdpManager.ilks(uint256(_loanId))]](contracts/modules/maker/MakerV2Loan.sol#L330)\n", "id": "2ddc55f82dc755e4af496d96406f6d391ebfdbe9b8c19854827734046f8efa80", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "openVault", "source_mapping": {"start": 17626, "length": 1144, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "openVault(address,address,uint256,uint256)"}}, {"type": "node", "name": "_cdpId = cdpManager.open(ilk,address(this))", "source_mapping": {"start": 18301, "length": 44, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [487], "starting_column": 13, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "openVault", "source_mapping": {"start": 17626, "length": 1144, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "openVault(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "loanIds[_wallet][ilk] = bytes32(_cdpId)", "source_mapping": {"start": 18416, "length": 39, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [489], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "openVault", "source_mapping": {"start": 17626, "length": 1144, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "openVault(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}], "description": "Reentrancy in MakerV2Loan.openVault(address,address,uint256,uint256) (modules/maker/MakerV2Loan.sol#469-497):\n\tExternal calls:\n\t- _cdpId = cdpManager.open(ilk,address(this)) (modules/maker/MakerV2Loan.sol#487)\n\tState variables written after the call(s):\n\t- loanIds[_wallet][ilk] = bytes32(_cdpId) (modules/maker/MakerV2Loan.sol#489)\n", "markdown": "Reentrancy in [MakerV2Loan.openVault(address,address,uint256,uint256)](contracts/modules/maker/MakerV2Loan.sol#L469-L497):\n\tExternal calls:\n\t- [_cdpId = cdpManager.open(ilk,address(this))](contracts/modules/maker/MakerV2Loan.sol#L487)\n\tState variables written after the call(s):\n\t- [loanIds[_wallet][ilk] = bytes32(_cdpId)](contracts/modules/maker/MakerV2Loan.sol#L489)\n", "id": "e706a8c65d7aa824d1815521bd7893bef7035feb85374f6fe9a125371cba4219", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "recoverToken", "source_mapping": {"start": 3282, "length": 242, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseFeature.sol", "filename_relative": "contracts/modules/common/BaseFeature.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseFeature.sol", "filename_short": "modules/common/BaseFeature.sol", "is_dependency": false, "lines": [99, 100, 101, 102], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseFeature", "source_mapping": {"start": 1264, "length": 4840, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseFeature.sol", "filename_relative": "contracts/modules/common/BaseFeature.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseFeature.sol", "filename_short": "modules/common/BaseFeature.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}, {"type": "node", "name": "_token.call(abi.encodeWithSelector(ERC20(_token).transfer.selector,address(versionManager),total))", "source_mapping": {"start": 3417, "length": 100, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseFeature.sol", "filename_relative": "contracts/modules/common/BaseFeature.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseFeature.sol", "filename_short": "modules/common/BaseFeature.sol", "is_dependency": false, "lines": [101], "starting_column": 9, "ending_column": 109}, "type_specific_fields": {"parent": {"type": "function", "name": "recoverToken", "source_mapping": {"start": 3282, "length": 242, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseFeature.sol", "filename_relative": "contracts/modules/common/BaseFeature.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseFeature.sol", "filename_short": "modules/common/BaseFeature.sol", "is_dependency": false, "lines": [99, 100, 101, 102], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseFeature", "source_mapping": {"start": 1264, "length": 4840, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseFeature.sol", "filename_relative": "contracts/modules/common/BaseFeature.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseFeature.sol", "filename_short": "modules/common/BaseFeature.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}}}], "description": "BaseFeature.recoverToken(address) (modules/common/BaseFeature.sol#99-102) ignores return value by _token.call(abi.encodeWithSelector(ERC20(_token).transfer.selector,address(versionManager),total)) (modules/common/BaseFeature.sol#101)\n", "markdown": "[BaseFeature.recoverToken(address)](contracts/modules/common/BaseFeature.sol#L99-L102) ignores return value by [_token.call(abi.encodeWithSelector(ERC20(_token).transfer.selector,address(versionManager),total))](contracts/modules/common/BaseFeature.sol#L101)\n", "id": "bf848dc5e3354f97714a37f93b523ba7af9dbf2c0afeff232ae0251a7ae25d89", "check": "unchecked-lowlevel", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "recoverToken", "source_mapping": {"start": 3953, "length": 231, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_relative": "contracts/modules/VersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_short": "modules/VersionManager.sol", "is_dependency": false, "lines": [101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VersionManager", "source_mapping": {"start": 1529, "length": 12031, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_relative": "contracts/modules/VersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_short": "modules/VersionManager.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}, {"type": "node", "name": "_token.call(abi.encodeWithSelector(ERC20(_token).transfer.selector,msg.sender,total))", "source_mapping": {"start": 4090, "length": 87, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_relative": "contracts/modules/VersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_short": "modules/VersionManager.sol", "is_dependency": false, "lines": [103], "starting_column": 9, "ending_column": 96}, "type_specific_fields": {"parent": {"type": "function", "name": "recoverToken", "source_mapping": {"start": 3953, "length": 231, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_relative": "contracts/modules/VersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_short": "modules/VersionManager.sol", "is_dependency": false, "lines": [101, 102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "VersionManager", "source_mapping": {"start": 1529, "length": 12031, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_relative": "contracts/modules/VersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_short": "modules/VersionManager.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}}}], "description": "VersionManager.recoverToken(address) (modules/VersionManager.sol#101-104) ignores return value by _token.call(abi.encodeWithSelector(ERC20(_token).transfer.selector,msg.sender,total)) (modules/VersionManager.sol#103)\n", "markdown": "[VersionManager.recoverToken(address)](contracts/modules/VersionManager.sol#L101-L104) ignores return value by [_token.call(abi.encodeWithSelector(ERC20(_token).transfer.selector,msg.sender,total))](contracts/modules/VersionManager.sol#L103)\n", "id": "a93a1c71c8bd33bf0c59fc76c42adcf2680545c50b93a93d32df16bd25250559", "check": "unchecked-lowlevel", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "stack", "source_mapping": {"start": 4076, "length": 27, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerManager.sol", "filename_relative": "contracts/modules/RelayerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerManager.sol", "filename_short": "modules/RelayerManager.sol", "is_dependency": false, "lines": [113], "starting_column": 9, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "function", "name": "execute", "source_mapping": {"start": 3454, "length": 2216, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerManager.sol", "filename_relative": "contracts/modules/RelayerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerManager.sol", "filename_short": "modules/RelayerManager.sol", "is_dependency": false, "lines": [95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RelayerManager", "source_mapping": {"start": 1310, "length": 13018, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerManager.sol", "filename_relative": "contracts/modules/RelayerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerManager.sol", "filename_short": "modules/RelayerManager.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371], "starting_column": 1, "ending_column": null}}, "signature": "execute(address,address,bytes,uint256,bytes,uint256,uint256,address,address)"}}}}], "description": "RelayerManager.execute(address,address,bytes,uint256,bytes,uint256,uint256,address,address).stack (modules/RelayerManager.sol#113) is a local variable never initialized\n", "markdown": "[RelayerManager.execute(address,address,bytes,uint256,bytes,uint256,uint256,address,address).stack](contracts/modules/RelayerManager.sol#L113) is a local variable never initialized\n", "id": "50a9b69c8b3047fba59251923cf5337dcfbb55dad8d8a1092d7fdb3a390aa612", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "joinCollateral", "source_mapping": {"start": 13022, "length": 1076, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "joinCollateral(address,uint256,uint256,bytes32)"}}, {"type": "node", "name": "collateral.approve(address(gemJoin),_collateralAmount)", "source_mapping": {"start": 13849, "length": 55, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [366], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "joinCollateral", "source_mapping": {"start": 13022, "length": 1076, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "joinCollateral(address,uint256,uint256,bytes32)"}}}}], "description": "MakerV2Loan.joinCollateral(address,uint256,uint256,bytes32) (modules/maker/MakerV2Loan.sol#344-369) ignores return value by collateral.approve(address(gemJoin),_collateralAmount) (modules/maker/MakerV2Loan.sol#366)\n", "markdown": "[MakerV2Loan.joinCollateral(address,uint256,uint256,bytes32)](contracts/modules/maker/MakerV2Loan.sol#L344-L369) ignores return value by [collateral.approve(address(gemJoin),_collateralAmount)](contracts/modules/maker/MakerV2Loan.sol#L366)\n", "id": "b0f61571b13dd2c4e224199a61c15ea0fb4b3ee5fc8ed4dfe72d19e957cff556", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "joinDebt", "source_mapping": {"start": 14104, "length": 796, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "joinDebt(address,uint256,uint256)"}}, {"type": "node", "name": "daiToken.approve(address(daiJoin),_debtAmount)", "source_mapping": {"start": 14586, "length": 47, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [386], "starting_column": 9, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "joinDebt", "source_mapping": {"start": 14104, "length": 796, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 21494, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613], "starting_column": 1, "ending_column": null}}, "signature": "joinDebt(address,uint256,uint256)"}}}}], "description": "MakerV2Loan.joinDebt(address,uint256,uint256) (modules/maker/MakerV2Loan.sol#371-390) ignores return value by daiToken.approve(address(daiJoin),_debtAmount) (modules/maker/MakerV2Loan.sol#386)\n", "markdown": "[MakerV2Loan.joinDebt(address,uint256,uint256)](contracts/modules/maker/MakerV2Loan.sol#L371-L390) ignores return value by [daiToken.approve(address(daiJoin),_debtAmount)](contracts/modules/maker/MakerV2Loan.sol#L386)\n", "id": "7b7b605f7beea5dbc190ac516c062468d02f9d5718b568fd079091ca9881f7a2", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "init", "source_mapping": {"start": 8383, "length": 71, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_relative": "contracts/modules/VersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_short": "modules/VersionManager.sol", "is_dependency": false, "lines": [202], "starting_column": 5, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "contract", "name": "VersionManager", "source_mapping": {"start": 1529, "length": 12031, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_relative": "contracts/modules/VersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_short": "modules/VersionManager.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}], "description": "init(address) should be declared external:\n\t- VersionManager.init(address) (modules/VersionManager.sol#202)\n", "markdown": "init(address) should be declared external:\n\t- [VersionManager.init(address)](contracts/modules/VersionManager.sol#L202)\n", "id": "ff33584434c9217dd31d83ed2215d4615eb1a4016d703505b1b3f67c61b91b2e", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "isValidSignature", "source_mapping": {"start": 19429, "length": 367, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [487, 488, 489, 490, 491, 492], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransferManager", "source_mapping": {"start": 1333, "length": 22598, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597], "starting_column": 1, "ending_column": 2}}, "signature": "isValidSignature(bytes32,bytes)"}}], "description": "isValidSignature(bytes32,bytes) should be declared external:\n\t- TransferManager.isValidSignature(bytes32,bytes) (modules/TransferManager.sol#487-492)\n", "markdown": "isValidSignature(bytes32,bytes) should be declared external:\n\t- [TransferManager.isValidSignature(bytes32,bytes)](contracts/modules/TransferManager.sol#L487-L492)\n", "id": "4e90c0989f4fd83f728caf93179b9859a8c795ff556a1124972f9bcf5f84a07b", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "init", "source_mapping": {"start": 2042, "length": 814, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/UpgraderToVersionManager.sol", "filename_relative": "contracts/modules/UpgraderToVersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/UpgraderToVersionManager.sol", "filename_short": "modules/UpgraderToVersionManager.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "UpgraderToVersionManager", "source_mapping": {"start": 1186, "length": 1794, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/UpgraderToVersionManager.sol", "filename_relative": "contracts/modules/UpgraderToVersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/UpgraderToVersionManager.sol", "filename_short": "modules/UpgraderToVersionManager.sol", "is_dependency": false, "lines": [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 8383, "length": 71, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_relative": "contracts/modules/VersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_short": "modules/VersionManager.sol", "is_dependency": false, "lines": [202], "starting_column": 5, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "contract", "name": "VersionManager", "source_mapping": {"start": 1529, "length": 12031, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_relative": "contracts/modules/VersionManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/VersionManager.sol", "filename_short": "modules/VersionManager.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}], "description": "init(address) should be declared external:\n\t- UpgraderToVersionManager.init(address) (modules/UpgraderToVersionManager.sol#59-76)\n\t- VersionManager.init(address) (modules/VersionManager.sol#202)\n", "markdown": "init(address) should be declared external:\n\t- [UpgraderToVersionManager.init(address)](contracts/modules/UpgraderToVersionManager.sol#L59-L76)\n\t- [VersionManager.init(address)](contracts/modules/VersionManager.sol#L202)\n", "id": "0030dd7b0d3b956a7d73c00756a1fd090ef528b714ee99baefae399f2abf3e9a", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "debt", "source_mapping": {"start": 18291, "length": 720, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "debt(uint256)"}}, {"type": "node", "name": "_fullRepayment = art.mul(rate).div(RAY).add(1).add(art - art.mul(rate).div(RAY).mul(RAY).div(rate))", "source_mapping": {"start": 18715, "length": 217, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [486, 487, 488], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "debt", "source_mapping": {"start": 18291, "length": 720, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "debt(uint256)"}}}}], "description": "MakerV2Loan.debt(uint256) (modules/maker/MakerV2Loan.sol#474-490) performs a multiplication on the result of a division:\n\t-_fullRepayment = art.mul(rate).div(RAY).add(1).add(art - art.mul(rate).div(RAY).mul(RAY).div(rate)) (modules/maker/MakerV2Loan.sol#486-488)\n", "markdown": "[MakerV2Loan.debt(uint256)](contracts/modules/maker/MakerV2Loan.sol#L474-L490) performs a multiplication on the result of a division:\n\t-[_fullRepayment = art.mul(rate).div(RAY).add(1).add(art - art.mul(rate).div(RAY).mul(RAY).div(rate))](contracts/modules/maker/MakerV2Loan.sol#L486-L488)\n", "id": "e3debf265ff1ff6e62f01a0a14fe27f2614a7818b5b95cd353ef3ad901e97226", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "closeLoan", "source_mapping": {"start": 5300, "length": 818, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2028, "length": 17443, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457], "starting_column": 1, "ending_column": 2}}, "signature": "closeLoan(address,bytes32)"}}, {"type": "node", "name": "collateral == 0", "source_mapping": {"start": 5876, "length": 15, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [137], "starting_column": 21, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "function", "name": "closeLoan", "source_mapping": {"start": 5300, "length": 818, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2028, "length": 17443, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457], "starting_column": 1, "ending_column": 2}}, "signature": "closeLoan(address,bytes32)"}}}}], "description": "CompoundManager.closeLoan(address,bytes32) (modules/CompoundManager.sol#122-143) uses a dangerous strict equality:\n\t- collateral == 0 (modules/CompoundManager.sol#137)\n", "markdown": "[CompoundManager.closeLoan(address,bytes32)](contracts/modules/CompoundManager.sol#L122-L143) uses a dangerous strict equality:\n\t- [collateral == 0](contracts/modules/CompoundManager.sol#L137)\n", "id": "08730022aa8a30534ebebb74ba0972d528e8021eee8ace42073c55e460be50e4", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "exitMarketIfNeeded", "source_mapping": {"start": 19076, "length": 393, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [450, 451, 452, 453, 454, 455, 456], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2028, "length": 17443, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457], "starting_column": 1, "ending_column": 2}}, "signature": "exitMarketIfNeeded(address,address,address)"}}, {"type": "node", "name": "collateral == 0 && debt == 0", "source_mapping": {"start": 19313, "length": 28, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [453], "starting_column": 13, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "exitMarketIfNeeded", "source_mapping": {"start": 19076, "length": 393, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [450, 451, 452, 453, 454, 455, 456], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2028, "length": 17443, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457], "starting_column": 1, "ending_column": 2}}, "signature": "exitMarketIfNeeded(address,address,address)"}}}}], "description": "CompoundManager.exitMarketIfNeeded(address,address,address) (modules/CompoundManager.sol#450-456) uses a dangerous strict equality:\n\t- collateral == 0 && debt == 0 (modules/CompoundManager.sol#453)\n", "markdown": "[CompoundManager.exitMarketIfNeeded(address,address,address)](contracts/modules/CompoundManager.sol#L450-L456) uses a dangerous strict equality:\n\t- [collateral == 0 && debt == 0](contracts/modules/CompoundManager.sol#L453)\n", "id": "bf9d5150c882a0d2323d409ddb468f4c65a7c0e778d53a1708ecc775a5b0a7f5", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "notWhenRecovery", "source_mapping": {"start": 2929, "length": 164, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [74, 75, 76, 77], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RecoveryManager", "source_mapping": {"start": 1283, "length": 7286, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 1, "ending_column": null}}, "signature": "notWhenRecovery(address)"}}, {"type": "node", "name": "require(bool,string)(recoveryConfigs[_wallet].executeAfter == 0,RM: there cannot be an ongoing recovery)", "source_mapping": {"start": 2981, "length": 94, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [75], "starting_column": 9, "ending_column": 103}, "type_specific_fields": {"parent": {"type": "function", "name": "notWhenRecovery", "source_mapping": {"start": 2929, "length": 164, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [74, 75, 76, 77], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RecoveryManager", "source_mapping": {"start": 1283, "length": 7286, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 1, "ending_column": null}}, "signature": "notWhenRecovery(address)"}}}}], "description": "RecoveryManager.notWhenRecovery(address) (modules/RecoveryManager.sol#74-77) uses a dangerous strict equality:\n\t- require(bool,string)(recoveryConfigs[_wallet].executeAfter == 0,RM: there cannot be an ongoing recovery) (modules/RecoveryManager.sol#75)\n", "markdown": "[RecoveryManager.notWhenRecovery(address)](contracts/modules/RecoveryManager.sol#L74-L77) uses a dangerous strict equality:\n\t- [require(bool,string)(recoveryConfigs[_wallet].executeAfter == 0,RM: there cannot be an ongoing recovery)](contracts/modules/RecoveryManager.sol#L75)\n", "id": "f45f0a923f224f95b786dafad7e27a0c399137e02e2b4edaa92975fb0a303ba0", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "giveVault", "source_mapping": {"start": 12787, "length": 334, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(address,bytes32)"}}, {"type": "node", "name": "cdpManager.give(uint256(_loanId),msg.sender)", "source_mapping": {"start": 13027, "length": 45, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [340], "starting_column": 9, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "giveVault", "source_mapping": {"start": 12787, "length": 334, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(address,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "onlyNewVersion()", "source_mapping": {"start": 12921, "length": 14, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [336], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "giveVault", "source_mapping": {"start": 12787, "length": 334, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(address,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "(success,res) = msg.sender.call(abi.encodeWithSignature(isNewVersion(address),address(this)))", "source_mapping": {"start": 3898, "length": 115, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [93], "starting_column": 9, "ending_column": 124}, "type_specific_fields": {"parent": {"type": "function", "name": "onlyNewVersion", "source_mapping": {"start": 3862, "length": 269, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [92, 93, 94, 95, 96], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "onlyNewVersion()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "clearLoanOwner(_wallet,_loanId)", "source_mapping": {"start": 13082, "length": 32, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [341], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "giveVault", "source_mapping": {"start": 12787, "length": 334, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(address,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}, {"type": "node", "name": "delete loanIds[_wallet][cdpManager.ilks(uint256(_loanId))]", "source_mapping": {"start": 14089, "length": 58, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [366], "starting_column": 9, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "clearLoanOwner", "source_mapping": {"start": 14012, "length": 142, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [365, 366, 367], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "clearLoanOwner(address,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}], "description": "Reentrancy in MakerV2Loan.giveVault(address,bytes32) (modules/maker/MakerV2Loan.sol#330-342):\n\tExternal calls:\n\t- cdpManager.give(uint256(_loanId),msg.sender) (modules/maker/MakerV2Loan.sol#340)\n\t- onlyNewVersion() (modules/maker/MakerV2Loan.sol#336)\n\t\t- (success,res) = msg.sender.call(abi.encodeWithSignature(isNewVersion(address),address(this))) (modules/maker/MakerV2Loan.sol#93)\n\tState variables written after the call(s):\n\t- clearLoanOwner(_wallet,_loanId) (modules/maker/MakerV2Loan.sol#341)\n\t\t- delete loanIds[_wallet][cdpManager.ilks(uint256(_loanId))] (modules/maker/MakerV2Loan.sol#366)\n", "markdown": "Reentrancy in [MakerV2Loan.giveVault(address,bytes32)](contracts/modules/maker/MakerV2Loan.sol#L330-L342):\n\tExternal calls:\n\t- [cdpManager.give(uint256(_loanId),msg.sender)](contracts/modules/maker/MakerV2Loan.sol#L340)\n\t- [onlyNewVersion()](contracts/modules/maker/MakerV2Loan.sol#L336)\n\t\t- [(success,res) = msg.sender.call(abi.encodeWithSignature(isNewVersion(address),address(this)))](contracts/modules/maker/MakerV2Loan.sol#L93)\n\tState variables written after the call(s):\n\t- [clearLoanOwner(_wallet,_loanId)](contracts/modules/maker/MakerV2Loan.sol#L341)\n\t\t- [delete loanIds[_wallet][cdpManager.ilks(uint256(_loanId))]](contracts/modules/maker/MakerV2Loan.sol#L366)\n", "id": "d5f01af66eab4bf9d4f2a2a5ff592369aad902b9ba0ac66df6351d4f5e3dda19", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "openVault", "source_mapping": {"start": 20007, "length": 1144, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "openVault(address,address,uint256,uint256)"}}, {"type": "node", "name": "_cdpId = cdpManager.open(ilk,address(this))", "source_mapping": {"start": 20682, "length": 44, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [540], "starting_column": 13, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "openVault", "source_mapping": {"start": 20007, "length": 1144, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "openVault(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "loanIds[_wallet][ilk] = bytes32(_cdpId)", "source_mapping": {"start": 20797, "length": 39, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [542], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "openVault", "source_mapping": {"start": 20007, "length": 1144, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "openVault(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}], "description": "Reentrancy in MakerV2Loan.openVault(address,address,uint256,uint256) (modules/maker/MakerV2Loan.sol#522-550):\n\tExternal calls:\n\t- _cdpId = cdpManager.open(ilk,address(this)) (modules/maker/MakerV2Loan.sol#540)\n\tState variables written after the call(s):\n\t- loanIds[_wallet][ilk] = bytes32(_cdpId) (modules/maker/MakerV2Loan.sol#542)\n", "markdown": "Reentrancy in [MakerV2Loan.openVault(address,address,uint256,uint256)](contracts/modules/maker/MakerV2Loan.sol#L522-L550):\n\tExternal calls:\n\t- [_cdpId = cdpManager.open(ilk,address(this))](contracts/modules/maker/MakerV2Loan.sol#L540)\n\tState variables written after the call(s):\n\t- [loanIds[_wallet][ilk] = bytes32(_cdpId)](contracts/modules/maker/MakerV2Loan.sol#L542)\n", "id": "d99aba5ce3b1b8509a76ed0b98ee78d1e40c1e63109e288cd20673eb699d1758", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "recoverToken", "source_mapping": {"start": 3189, "length": 228, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseModule", "source_mapping": {"start": 1178, "length": 5193, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}, {"type": "node", "name": "_token.call(abi.encodeWithSelector(ERC20(_token).transfer.selector,address(registry),total))", "source_mapping": {"start": 3316, "length": 94, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [98], "starting_column": 9, "ending_column": 103}, "type_specific_fields": {"parent": {"type": "function", "name": "recoverToken", "source_mapping": {"start": 3189, "length": 228, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [96, 97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseModule", "source_mapping": {"start": 1178, "length": 5193, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}}}], "description": "BaseModule.recoverToken(address) (modules/common/BaseModule.sol#96-99) ignores return value by _token.call(abi.encodeWithSelector(ERC20(_token).transfer.selector,address(registry),total)) (modules/common/BaseModule.sol#98)\n", "markdown": "[BaseModule.recoverToken(address)](contracts/modules/common/BaseModule.sol#L96-L99) ignores return value by [_token.call(abi.encodeWithSelector(ERC20(_token).transfer.selector,address(registry),total))](contracts/modules/common/BaseModule.sol#L98)\n", "id": "272cb967706b9c3f040806998553e5957593a81d10be82dba726a028b4074147", "check": "unchecked-lowlevel", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "stack", "source_mapping": {"start": 3831, "length": 27, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerModule.sol", "filename_relative": "contracts/modules/RelayerModule.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerModule.sol", "filename_short": "modules/RelayerModule.sol", "is_dependency": false, "lines": [108], "starting_column": 9, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "function", "name": "execute", "source_mapping": {"start": 3229, "length": 2035, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerModule.sol", "filename_relative": "contracts/modules/RelayerModule.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerModule.sol", "filename_short": "modules/RelayerModule.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RelayerModule", "source_mapping": {"start": 1257, "length": 12687, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerModule.sol", "filename_relative": "contracts/modules/RelayerModule.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RelayerModule.sol", "filename_short": "modules/RelayerModule.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365], "starting_column": 1, "ending_column": null}}, "signature": "execute(address,address,bytes,uint256,bytes,uint256,uint256,address,address)"}}}}], "description": "RelayerModule.execute(address,address,bytes,uint256,bytes,uint256,uint256,address,address).stack (modules/RelayerModule.sol#108) is a local variable never initialized\n", "markdown": "[RelayerModule.execute(address,address,bytes,uint256,bytes,uint256,uint256,address,address).stack](contracts/modules/RelayerModule.sol#L108) is a local variable never initialized\n", "id": "3a87235f81aba6decbd964bd53e5f6adba8412ef9e594c26782269f840a353be", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "joinCollateral", "source_mapping": {"start": 15461, "length": 1076, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "joinCollateral(address,uint256,uint256,bytes32)"}}, {"type": "node", "name": "collateral.approve(address(gemJoin),_collateralAmount)", "source_mapping": {"start": 16288, "length": 55, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [424], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "joinCollateral", "source_mapping": {"start": 15461, "length": 1076, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "joinCollateral(address,uint256,uint256,bytes32)"}}}}], "description": "MakerV2Loan.joinCollateral(address,uint256,uint256,bytes32) (modules/maker/MakerV2Loan.sol#402-427) ignores return value by collateral.approve(address(gemJoin),_collateralAmount) (modules/maker/MakerV2Loan.sol#424)\n", "markdown": "[MakerV2Loan.joinCollateral(address,uint256,uint256,bytes32)](contracts/modules/maker/MakerV2Loan.sol#L402-L427) ignores return value by [collateral.approve(address(gemJoin),_collateralAmount)](contracts/modules/maker/MakerV2Loan.sol#L424)\n", "id": "dd0963be83ddad82595951c311981c4d8e323b57910f30c546963a01e344480f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "joinDebt", "source_mapping": {"start": 16543, "length": 738, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "joinDebt(address,uint256,uint256)"}}, {"type": "node", "name": "daiToken.approve(address(daiJoin),_debtAmount)", "source_mapping": {"start": 16967, "length": 47, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [439], "starting_column": 9, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "joinDebt", "source_mapping": {"start": 16543, "length": 738, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1302, "length": 23997, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668], "starting_column": 1, "ending_column": null}}, "signature": "joinDebt(address,uint256,uint256)"}}}}], "description": "MakerV2Loan.joinDebt(address,uint256,uint256) (modules/maker/MakerV2Loan.sol#429-443) ignores return value by daiToken.approve(address(daiJoin),_debtAmount) (modules/maker/MakerV2Loan.sol#439)\n", "markdown": "[MakerV2Loan.joinDebt(address,uint256,uint256)](contracts/modules/maker/MakerV2Loan.sol#L429-L443) ignores return value by [daiToken.approve(address(daiJoin),_debtAmount)](contracts/modules/maker/MakerV2Loan.sol#L439)\n", "id": "9487e9c431f345689555963af08cce1a8516b34b85f8237161b4d528f8eaf126", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "registerWalletENS", "source_mapping": {"start": 9491, "length": 640, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_relative": "contracts/infrastructure/WalletFactory.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_short": "infrastructure/WalletFactory.sol", "is_dependency": false, "lines": [239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletFactory", "source_mapping": {"start": 1156, "length": 8977, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_relative": "contracts/infrastructure/WalletFactory.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_short": "infrastructure/WalletFactory.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "registerWalletENS(address,string)"}}, {"type": "node", "name": "BaseWallet(_wallet).invoke(ensReverseRegistrar,0,methodData)", "source_mapping": {"start": 9948, "length": 62, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_relative": "contracts/infrastructure/WalletFactory.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_short": "infrastructure/WalletFactory.sol", "is_dependency": false, "lines": [245], "starting_column": 13, "ending_column": 75}, "type_specific_fields": {"parent": {"type": "function", "name": "registerWalletENS", "source_mapping": {"start": 9491, "length": 640, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_relative": "contracts/infrastructure/WalletFactory.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_short": "infrastructure/WalletFactory.sol", "is_dependency": false, "lines": [239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletFactory", "source_mapping": {"start": 1156, "length": 8977, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_relative": "contracts/infrastructure/WalletFactory.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_short": "infrastructure/WalletFactory.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], "starting_column": 1, "ending_column": 2}}, "signature": "registerWalletENS(address,string)"}}}}], "description": "WalletFactory.registerWalletENS(address,string) (infrastructure/WalletFactory.sol#239-249) ignores return value by BaseWallet(_wallet).invoke(ensReverseRegistrar,0,methodData) (infrastructure/WalletFactory.sol#245)\n", "markdown": "[WalletFactory.registerWalletENS(address,string)](contracts/infrastructure/WalletFactory.sol#L239-L249) ignores return value by [BaseWallet(_wallet).invoke(ensReverseRegistrar,0,methodData)](contracts/infrastructure/WalletFactory.sol#L245)\n", "id": "c2fb24c9045abbd9c3437280b9b10236b406e1368e3a4d1dbfa1e3b8ae912045", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "recoverToken", "source_mapping": {"start": 3109, "length": 176, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ILimitStorage.sol", "filename_relative": "contracts/infrastructure/storage/ILimitStorage.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ILimitStorage.sol", "filename_short": "infrastructure/storage/ILimitStorage.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "contract", "name": "ModuleRegistry", "source_mapping": {"start": 1003, "length": 3863, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_short": "infrastructure_0.5/ModuleRegistry.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}, {"type": "node", "name": "ERC20(_token).transfer(msg.sender,total)", "source_mapping": {"start": 3237, "length": 41, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ILimitStorage.sol", "filename_relative": "contracts/infrastructure/storage/ILimitStorage.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ILimitStorage.sol", "filename_short": "infrastructure/storage/ILimitStorage.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "function", "name": "recoverToken", "source_mapping": {"start": 3109, "length": 176, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ILimitStorage.sol", "filename_relative": "contracts/infrastructure/storage/ILimitStorage.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ILimitStorage.sol", "filename_short": "infrastructure/storage/ILimitStorage.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "contract", "name": "ModuleRegistry", "source_mapping": {"start": 1003, "length": 3863, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_short": "infrastructure_0.5/ModuleRegistry.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}}}], "description": "ModuleRegistry.recoverToken(address) (infrastructure/storage/ILimitStorage.sol) ignores return value by ERC20(_token).transfer(msg.sender,total) (infrastructure/storage/ILimitStorage.sol)\n", "markdown": "[ModuleRegistry.recoverToken(address)](contracts/infrastructure/storage/ILimitStorage.sol) ignores return value by [ERC20(_token).transfer(msg.sender,total)](contracts/infrastructure/storage/ILimitStorage.sol)\n", "id": "a66472c966912b5572681abf7e7dc547d2f1830257a101b1e2d92e17c4f74e51", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "invoke", "source_mapping": {"start": 4263, "length": 501, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseWallet", "source_mapping": {"start": 998, "length": 4702, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155], "starting_column": 1, "ending_column": null}}, "signature": "invoke(address,uint256,bytes)"}}, {"type": "node", "name": "(success,_result) = _target.call{value: _value}(_data)", "source_mapping": {"start": 4414, "length": 55, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "invoke", "source_mapping": {"start": 4263, "length": 501, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseWallet", "source_mapping": {"start": 998, "length": 4702, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155], "starting_column": 1, "ending_column": null}}, "signature": "invoke(address,uint256,bytes)"}}}}], "description": "BaseWallet.invoke(address,uint256,bytes) (wallet/BaseWallet.sol#117-128) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success,_result) = _target.call{value: _value}(_data) (wallet/BaseWallet.sol#119)\n", "markdown": "[BaseWallet.invoke(address,uint256,bytes)](contracts/wallet/BaseWallet.sol#L117-L128) sends eth to arbitrary user\n\tDangerous calls:\n\t- [(success,_result) = _target.call{value: _value}(_data)](contracts/wallet/BaseWallet.sol#L119)\n", "id": "3a445adf96dfc0060ee47dfb0ef4a1fb3fac45de27785b9fc3b76f833aa9a8be", "check": "arbitrary-send", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "Proxy", "source_mapping": {"start": 973, "length": 783, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_relative": "contracts/wallet/Proxy.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_short": "wallet/Proxy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "starting_column": 1, "ending_column": null}}, {"type": "function", "name": "fallback", "source_mapping": {"start": 1200, "length": 458, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_relative": "contracts/wallet/Proxy.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_short": "wallet/Proxy.sol", "is_dependency": false, "lines": [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": "Proxy", "source_mapping": {"start": 973, "length": 783, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_relative": "contracts/wallet/Proxy.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_short": "wallet/Proxy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "starting_column": 1, "ending_column": null}}, "signature": "fallback()"}}, {"type": "function", "name": "receive", "source_mapping": {"start": 1664, "length": 90, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_relative": "contracts/wallet/Proxy.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_short": "wallet/Proxy.sol", "is_dependency": false, "lines": [48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 973, "length": 783, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_relative": "contracts/wallet/Proxy.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_short": "wallet/Proxy.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "starting_column": 1, "ending_column": null}}, "signature": "receive()"}}], "description": "Contract locking ether found in :\n\tContract Proxy (wallet/Proxy.sol#25-51) has payable functions:\n\t - Proxy.fallback() (wallet/Proxy.sol#35-46)\n\t - Proxy.receive() (wallet/Proxy.sol#48-50)\n\tBut does not have a function to withdraw the ether\n", "markdown": "Contract locking ether found in :\n\tContract [Proxy](contracts/wallet/Proxy.sol#L25-L51) has payable functions:\n\t - [Proxy.fallback()](contracts/wallet/Proxy.sol#L35-L46)\n\t - [Proxy.receive()](contracts/wallet/Proxy.sol#L48-L50)\n\tBut does not have a function to withdraw the ether\n", "id": "65059149746fe5e1f25c150be699d486d9916f15492140a8e9feaa9f4e710392", "check": "locked-ether", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "recoverToken", "source_mapping": {"start": 3091, "length": 176, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ITransferStorage.sol", "filename_relative": "contracts/infrastructure/storage/ITransferStorage.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ITransferStorage.sol", "filename_short": "infrastructure/storage/ITransferStorage.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "contract", "name": "ModuleRegistry", "source_mapping": {"start": 1000, "length": 3833, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_short": "infrastructure_0.5/ModuleRegistry.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}, {"type": "node", "name": "ERC20(_token).transfer(msg.sender,total)", "source_mapping": {"start": 3219, "length": 41, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ITransferStorage.sol", "filename_relative": "contracts/infrastructure/storage/ITransferStorage.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ITransferStorage.sol", "filename_short": "infrastructure/storage/ITransferStorage.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "function", "name": "recoverToken", "source_mapping": {"start": 3091, "length": 176, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ITransferStorage.sol", "filename_relative": "contracts/infrastructure/storage/ITransferStorage.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/storage/ITransferStorage.sol", "filename_short": "infrastructure/storage/ITransferStorage.sol", "is_dependency": false, "lines": [], "starting_column": null, "ending_column": null}, "type_specific_fields": {"parent": {"type": "contract", "name": "ModuleRegistry", "source_mapping": {"start": 1000, "length": 3833, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure_0.5/ModuleRegistry.sol", "filename_short": "infrastructure_0.5/ModuleRegistry.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}}}], "description": "ModuleRegistry.recoverToken(address) (infrastructure/storage/ITransferStorage.sol) ignores return value by ERC20(_token).transfer(msg.sender,total) (infrastructure/storage/ITransferStorage.sol)\n", "markdown": "[ModuleRegistry.recoverToken(address)](contracts/infrastructure/storage/ITransferStorage.sol) ignores return value by [ERC20(_token).transfer(msg.sender,total)](contracts/infrastructure/storage/ITransferStorage.sol)\n", "id": "9171bc908aa92139bc1b303944a4349146a1528702f7fae508b9508ffdcb0960", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "refund", "source_mapping": {"start": 22031, "length": 780, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransferManager", "source_mapping": {"start": 1318, "length": 22044, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567], "starting_column": 1, "ending_column": 2}}, "signature": "refund(address,uint256,uint256,uint256,uint256,address)"}}, {"type": "node", "name": "LimitUtils.checkAndUpdateDailySpent(limitStorage,_wallet,amount)", "source_mapping": {"start": 22662, "length": 66, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [550], "starting_column": 13, "ending_column": 79}, "type_specific_fields": {"parent": {"type": "function", "name": "refund", "source_mapping": {"start": 22031, "length": 780, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransferManager", "source_mapping": {"start": 1318, "length": 22044, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567], "starting_column": 1, "ending_column": 2}}, "signature": "refund(address,uint256,uint256,uint256,uint256,address)"}}}}], "description": "TransferManager.refund(address,uint256,uint256,uint256,uint256,address) (modules/TransferManager.sol#532-553) ignores return value by LimitUtils.checkAndUpdateDailySpent(limitStorage,_wallet,amount) (modules/TransferManager.sol#550)\n", "markdown": "[TransferManager.refund(address,uint256,uint256,uint256,uint256,address)](contracts/modules/TransferManager.sol#L532-L553) ignores return value by [LimitUtils.checkAndUpdateDailySpent(limitStorage,_wallet,amount)](contracts/modules/TransferManager.sol#L550)\n", "id": "f88da5da90d7c9ef93282509ffde5e2f7b31eb21adfb01c81e1ec5972aafb893", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "init", "source_mapping": {"start": 1737, "length": 627, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_relative": "contracts/modules/SimpleUpgrader.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_short": "modules/SimpleUpgrader.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SimpleUpgrader", "source_mapping": {"start": 980, "length": 1386, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_relative": "contracts/modules/SimpleUpgrader.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_short": "modules/SimpleUpgrader.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 3352, "length": 123, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseModule", "source_mapping": {"start": 1179, "length": 4719, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 4308, "length": 1681, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransferManager", "source_mapping": {"start": 1318, "length": 22044, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567], "starting_column": 1, "ending_column": 2}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 2019, "length": 149, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/NftTransfer.sol", "filename_relative": "contracts/modules/NftTransfer.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/NftTransfer.sol", "filename_short": "modules/NftTransfer.sol", "is_dependency": false, "lines": [60, 61, 62], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NftTransfer", "source_mapping": {"start": 930, "length": 4393, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/NftTransfer.sol", "filename_relative": "contracts/modules/NftTransfer.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/NftTransfer.sol", "filename_short": "modules/NftTransfer.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}], "description": "init(address) should be declared external:\n\t- SimpleUpgrader.init(address) (modules/SimpleUpgrader.sol#53-67)\n\t- BaseModule.init(address) (modules/common/BaseModule.sol#99-101)\n\t- TransferManager.init(address) (modules/TransferManager.sol#108-137)\n\t- NftTransfer.init(address) (modules/NftTransfer.sol#60-62)\n", "markdown": "init(address) should be declared external:\n\t- [SimpleUpgrader.init(address)](contracts/modules/SimpleUpgrader.sol#L53-L67)\n\t- [BaseModule.init(address)](contracts/modules/common/BaseModule.sol#L99-L101)\n\t- [TransferManager.init(address)](contracts/modules/TransferManager.sol#L108-L137)\n\t- [NftTransfer.init(address)](contracts/modules/NftTransfer.sol#L60-L62)\n", "id": "cfa462892b1cb720fcb9be001d7ee2a728d8121156416cf309d8c66e1480352b", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "init", "source_mapping": {"start": 2019, "length": 149, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_relative": "contracts/modules/NftTransfer.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_short": "modules/NftTransfer.sol", "is_dependency": false, "lines": [60, 61, 62], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NftTransfer", "source_mapping": {"start": 930, "length": 4393, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_relative": "contracts/modules/NftTransfer.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_short": "modules/NftTransfer.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 4198, "length": 1669, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransferManager", "source_mapping": {"start": 1318, "length": 21922, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566], "starting_column": 1, "ending_column": 2}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 3352, "length": 123, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseModule", "source_mapping": {"start": 1179, "length": 4719, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 1737, "length": 627, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_relative": "contracts/modules/SimpleUpgrader.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_short": "modules/SimpleUpgrader.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SimpleUpgrader", "source_mapping": {"start": 980, "length": 1386, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_relative": "contracts/modules/SimpleUpgrader.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_short": "modules/SimpleUpgrader.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}], "description": "init(address) should be declared external:\n\t- NftTransfer.init(address) (modules/NftTransfer.sol#60-62)\n\t- TransferManager.init(address) (modules/TransferManager.sol#107-136)\n\t- BaseModule.init(address) (modules/common/BaseModule.sol#99-101)\n\t- SimpleUpgrader.init(address) (modules/SimpleUpgrader.sol#53-67)\n", "markdown": "init(address) should be declared external:\n\t- [NftTransfer.init(address)](contracts/modules/NftTransfer.sol#L60-L62)\n\t- [TransferManager.init(address)](contracts/modules/TransferManager.sol#L107-L136)\n\t- [BaseModule.init(address)](contracts/modules/common/BaseModule.sol#L99-L101)\n\t- [SimpleUpgrader.init(address)](contracts/modules/SimpleUpgrader.sol#L53-L67)\n", "id": "5352be22f1a491a4406ef39a2a0971c40e5b09f4c04f8d4d46a555f7a6d16b07", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "init", "source_mapping": {"start": 2019, "length": 149, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_relative": "contracts/modules/NftTransfer.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_short": "modules/NftTransfer.sol", "is_dependency": false, "lines": [60, 61, 62], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NftTransfer", "source_mapping": {"start": 930, "length": 4393, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_relative": "contracts/modules/NftTransfer.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_short": "modules/NftTransfer.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 3352, "length": 123, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseModule", "source_mapping": {"start": 1179, "length": 4719, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 4164, "length": 1610, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransferManager", "source_mapping": {"start": 1284, "length": 21938, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570], "starting_column": 1, "ending_column": 2}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 1737, "length": 627, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_relative": "contracts/modules/SimpleUpgrader.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_short": "modules/SimpleUpgrader.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SimpleUpgrader", "source_mapping": {"start": 980, "length": 1386, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_relative": "contracts/modules/SimpleUpgrader.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_short": "modules/SimpleUpgrader.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}], "description": "init(address) should be declared external:\n\t- NftTransfer.init(address) (modules/NftTransfer.sol#60-62)\n\t- BaseModule.init(address) (modules/common/BaseModule.sol#99-101)\n\t- TransferManager.init(address) (modules/TransferManager.sol#106-137)\n\t- SimpleUpgrader.init(address) (modules/SimpleUpgrader.sol#53-67)\n", "markdown": "init(address) should be declared external:\n\t- [NftTransfer.init(address)](contracts/modules/NftTransfer.sol#L60-L62)\n\t- [BaseModule.init(address)](contracts/modules/common/BaseModule.sol#L99-L101)\n\t- [TransferManager.init(address)](contracts/modules/TransferManager.sol#L106-L137)\n\t- [SimpleUpgrader.init(address)](contracts/modules/SimpleUpgrader.sol#L53-L67)\n", "id": "4549496f0e4bfd7a0fcffccfbaddf0ccd1451a6d90c6ff4178de964e021f1a43", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "init", "source_mapping": {"start": 2019, "length": 149, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_relative": "contracts/modules/NftTransfer.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_short": "modules/NftTransfer.sol", "is_dependency": false, "lines": [60, 61, 62], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "NftTransfer", "source_mapping": {"start": 930, "length": 4393, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_relative": "contracts/modules/NftTransfer.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/NftTransfer.sol", "filename_short": "modules/NftTransfer.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 3352, "length": 123, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [99, 100, 101], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseModule", "source_mapping": {"start": 1179, "length": 4719, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_relative": "contracts/modules/common/BaseModule.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/common/BaseModule.sol", "filename_short": "modules/common/BaseModule.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 1737, "length": 627, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_relative": "contracts/modules/SimpleUpgrader.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_short": "modules/SimpleUpgrader.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SimpleUpgrader", "source_mapping": {"start": 980, "length": 1386, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_relative": "contracts/modules/SimpleUpgrader.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/SimpleUpgrader.sol", "filename_short": "modules/SimpleUpgrader.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": null}}, "signature": "init(address)"}}, {"type": "function", "name": "init", "source_mapping": {"start": 4013, "length": 1528, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransferManager", "source_mapping": {"start": 1286, "length": 21531, "filename_used": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_relative": "contracts/modules/TransferManager.sol", "filename_absolute": "/Users/julienniset/Argent/dev/argent-contracts/contracts/modules/TransferManager.sol", "filename_short": "modules/TransferManager.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562], "starting_column": 1, "ending_column": 2}}, "signature": "init(address)"}}], "description": "init(address) should be declared external:\n\t- NftTransfer.init(address) (modules/NftTransfer.sol#60-62)\n\t- BaseModule.init(address) (modules/common/BaseModule.sol#99-101)\n\t- SimpleUpgrader.init(address) (modules/SimpleUpgrader.sol#53-67)\n\t- TransferManager.init(address) (modules/TransferManager.sol#101-133)\n", "markdown": "init(address) should be declared external:\n\t- [NftTransfer.init(address)](contracts/modules/NftTransfer.sol#L60-L62)\n\t- [BaseModule.init(address)](contracts/modules/common/BaseModule.sol#L99-L101)\n\t- [SimpleUpgrader.init(address)](contracts/modules/SimpleUpgrader.sol#L53-L67)\n\t- [TransferManager.init(address)](contracts/modules/TransferManager.sol#L101-L133)\n", "id": "661ed45880f4a52b08fba5ecf1293485cd7f4ec62ab0b087deba0704af63a3ae", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "closeLoan", "source_mapping": {"start": 5399, "length": 810, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2024, "length": 15937, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440], "starting_column": 1, "ending_column": 2}}, "signature": "closeLoan(address,bytes32)"}}, {"type": "node", "name": "collateral == 0", "source_mapping": {"start": 5967, "length": 15, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [140], "starting_column": 21, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "function", "name": "closeLoan", "source_mapping": {"start": 5399, "length": 810, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2024, "length": 15937, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440], "starting_column": 1, "ending_column": 2}}, "signature": "closeLoan(address,bytes32)"}}}}], "description": "CompoundManager.closeLoan(address,bytes32) (modules/CompoundManager.sol#125-146) uses a dangerous strict equality:\n\t- collateral == 0 (modules/CompoundManager.sol#140)\n", "markdown": "[CompoundManager.closeLoan(address,bytes32)](contracts/modules/CompoundManager.sol#L125-L146) uses a dangerous strict equality:\n\t- [collateral == 0](contracts/modules/CompoundManager.sol#L140)\n", "id": "cd5ec2602da010d70d9c1044b7995ad789e906b03bc1d772bba8faa89db81b4d", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "exitMarketIfNeeded", "source_mapping": {"start": 17566, "length": 393, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [433, 434, 435, 436, 437, 438, 439], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2024, "length": 15937, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440], "starting_column": 1, "ending_column": 2}}, "signature": "exitMarketIfNeeded(address,address,address)"}}, {"type": "node", "name": "collateral == 0 && debt == 0", "source_mapping": {"start": 17803, "length": 28, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [436], "starting_column": 13, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "exitMarketIfNeeded", "source_mapping": {"start": 17566, "length": 393, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [433, 434, 435, 436, 437, 438, 439], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2024, "length": 15937, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440], "starting_column": 1, "ending_column": 2}}, "signature": "exitMarketIfNeeded(address,address,address)"}}}}], "description": "CompoundManager.exitMarketIfNeeded(address,address,address) (modules/CompoundManager.sol#433-439) uses a dangerous strict equality:\n\t- collateral == 0 && debt == 0 (modules/CompoundManager.sol#436)\n", "markdown": "[CompoundManager.exitMarketIfNeeded(address,address,address)](contracts/modules/CompoundManager.sol#L433-L439) uses a dangerous strict equality:\n\t- [collateral == 0 && debt == 0](contracts/modules/CompoundManager.sol#L436)\n", "id": "6a0c6f5d2c13746690d86535e9bd5d3c750acf9ae1064d8d2151eec8078644e7", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "notWhenRecovery", "source_mapping": {"start": 3137, "length": 164, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RecoveryManager", "source_mapping": {"start": 1292, "length": 7296, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201], "starting_column": 1, "ending_column": null}}, "signature": "notWhenRecovery(address)"}}, {"type": "node", "name": "require(bool,string)(recoveryConfigs[_wallet].executeAfter == 0,RM: there cannot be an ongoing recovery)", "source_mapping": {"start": 3189, "length": 94, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [80], "starting_column": 9, "ending_column": 103}, "type_specific_fields": {"parent": {"type": "function", "name": "notWhenRecovery", "source_mapping": {"start": 3137, "length": 164, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RecoveryManager", "source_mapping": {"start": 1292, "length": 7296, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201], "starting_column": 1, "ending_column": null}}, "signature": "notWhenRecovery(address)"}}}}], "description": "RecoveryManager.notWhenRecovery(address) (modules/RecoveryManager.sol#79-82) uses a dangerous strict equality:\n\t- require(bool,string)(recoveryConfigs[_wallet].executeAfter == 0,RM: there cannot be an ongoing recovery) (modules/RecoveryManager.sol#80)\n", "markdown": "[RecoveryManager.notWhenRecovery(address)](contracts/modules/RecoveryManager.sol#L79-L82) uses a dangerous strict equality:\n\t- [require(bool,string)(recoveryConfigs[_wallet].executeAfter == 0,RM: there cannot be an ongoing recovery)](contracts/modules/RecoveryManager.sol#L80)\n", "id": "7532ab1b5e528df57e591de1a0fbd08a06ef4c15e8f48c62644cfa3f2a3a6a63", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "giveVault", "source_mapping": {"start": 12678, "length": 305, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1298, "length": 23895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(address,bytes32)"}}, {"type": "node", "name": "cdpManager.give(uint256(_loanId),msg.sender)", "source_mapping": {"start": 12889, "length": 45, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [342], "starting_column": 9, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "giveVault", "source_mapping": {"start": 12678, "length": 305, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1298, "length": 23895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(address,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "clearLoanOwner(_wallet,_loanId)", "source_mapping": {"start": 12944, "length": 32, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [343], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "giveVault", "source_mapping": {"start": 12678, "length": 305, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1298, "length": 23895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(address,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}, {"type": "node", "name": "delete loanIds[_wallet][cdpManager.ilks(uint256(_loanId))]", "source_mapping": {"start": 13951, "length": 58, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [368], "starting_column": 9, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "clearLoanOwner", "source_mapping": {"start": 13874, "length": 142, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1298, "length": 23895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "clearLoanOwner(address,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}], "description": "Reentrancy in MakerV2Loan.giveVault(address,bytes32) (modules/maker/MakerV2Loan.sol#333-344):\n\tExternal calls:\n\t- cdpManager.give(uint256(_loanId),msg.sender) (modules/maker/MakerV2Loan.sol#342)\n\tState variables written after the call(s):\n\t- clearLoanOwner(_wallet,_loanId) (modules/maker/MakerV2Loan.sol#343)\n\t\t- delete loanIds[_wallet][cdpManager.ilks(uint256(_loanId))] (modules/maker/MakerV2Loan.sol#368)\n", "markdown": "Reentrancy in [MakerV2Loan.giveVault(address,bytes32)](contracts/modules/maker/MakerV2Loan.sol#L333-L344):\n\tExternal calls:\n\t- [cdpManager.give(uint256(_loanId),msg.sender)](contracts/modules/maker/MakerV2Loan.sol#L342)\n\tState variables written after the call(s):\n\t- [clearLoanOwner(_wallet,_loanId)](contracts/modules/maker/MakerV2Loan.sol#L343)\n\t\t- [delete loanIds[_wallet][cdpManager.ilks(uint256(_loanId))]](contracts/modules/maker/MakerV2Loan.sol#L368)\n", "id": "3c591f9866a0773aad2e8e4611440df4632ef712517eaf9d56839582657d28b8", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "openVault", "source_mapping": {"start": 19908, "length": 1152, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1298, "length": 23895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "openVault(address,address,uint256,uint256)"}}, {"type": "node", "name": "_cdpId = cdpManager.open(ilk,address(this))", "source_mapping": {"start": 20591, "length": 44, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [539], "starting_column": 13, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "openVault", "source_mapping": {"start": 19908, "length": 1152, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1298, "length": 23895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "openVault(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "loanIds[_wallet][ilk] = bytes32(_cdpId)", "source_mapping": {"start": 20706, "length": 39, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [541], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "openVault", "source_mapping": {"start": 19908, "length": 1152, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1298, "length": 23895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "openVault(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}], "description": "Reentrancy in MakerV2Loan.openVault(address,address,uint256,uint256) (modules/maker/MakerV2Loan.sol#521-549):\n\tExternal calls:\n\t- _cdpId = cdpManager.open(ilk,address(this)) (modules/maker/MakerV2Loan.sol#539)\n\tState variables written after the call(s):\n\t- loanIds[_wallet][ilk] = bytes32(_cdpId) (modules/maker/MakerV2Loan.sol#541)\n", "markdown": "Reentrancy in [MakerV2Loan.openVault(address,address,uint256,uint256)](contracts/modules/maker/MakerV2Loan.sol#L521-L549):\n\tExternal calls:\n\t- [_cdpId = cdpManager.open(ilk,address(this))](contracts/modules/maker/MakerV2Loan.sol#L539)\n\tState variables written after the call(s):\n\t- [loanIds[_wallet][ilk] = bytes32(_cdpId)](contracts/modules/maker/MakerV2Loan.sol#L541)\n", "id": "15374ce15ed09bd2a1b9f9c1f654947d57d6722633ddda2b2e5202cf344c1d84", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "joinCollateral", "source_mapping": {"start": 15307, "length": 1076, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1298, "length": 23895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "joinCollateral(address,uint256,uint256,bytes32)"}}, {"type": "node", "name": "collateral.approve(address(gemJoin),_collateralAmount)", "source_mapping": {"start": 16134, "length": 55, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [422], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "joinCollateral", "source_mapping": {"start": 15307, "length": 1076, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1298, "length": 23895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "joinCollateral(address,uint256,uint256,bytes32)"}}}}], "description": "MakerV2Loan.joinCollateral(address,uint256,uint256,bytes32) (modules/maker/MakerV2Loan.sol#400-425) ignores return value by collateral.approve(address(gemJoin),_collateralAmount) (modules/maker/MakerV2Loan.sol#422)\n", "markdown": "[MakerV2Loan.joinCollateral(address,uint256,uint256,bytes32)](contracts/modules/maker/MakerV2Loan.sol#L400-L425) ignores return value by [collateral.approve(address(gemJoin),_collateralAmount)](contracts/modules/maker/MakerV2Loan.sol#L422)\n", "id": "9bba4cdfd560637f2248a7a85a9e4967591229fc34dc35118bb32c5a719f5a9f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "joinDebt", "source_mapping": {"start": 16389, "length": 738, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1298, "length": 23895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "joinDebt(address,uint256,uint256)"}}, {"type": "node", "name": "daiToken.approve(address(daiJoin),_debtAmount)", "source_mapping": {"start": 16813, "length": 47, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [437], "starting_column": 9, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "joinDebt", "source_mapping": {"start": 16389, "length": 738, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1298, "length": 23895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "joinDebt(address,uint256,uint256)"}}}}], "description": "MakerV2Loan.joinDebt(address,uint256,uint256) (modules/maker/MakerV2Loan.sol#427-441) ignores return value by daiToken.approve(address(daiJoin),_debtAmount) (modules/maker/MakerV2Loan.sol#437)\n", "markdown": "[MakerV2Loan.joinDebt(address,uint256,uint256)](contracts/modules/maker/MakerV2Loan.sol#L427-L441) ignores return value by [daiToken.approve(address(daiJoin),_debtAmount)](contracts/modules/maker/MakerV2Loan.sol#L437)\n", "id": "d779373ca2ed3ce3da34d2abaef110f394dc3fd484a9dbb2d98d1eae99a72cb2", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addr", "source_mapping": {"start": 2323, "length": 102, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentENSResolver", "source_mapping": {"start": 1059, "length": 2107, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 1, "ending_column": 2}}, "signature": "addr(bytes32)"}}, {"type": "function", "name": "addr", "source_mapping": {"start": 919, "length": 59, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [25], "starting_column": 5, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSResolver", "source_mapping": {"start": 770, "length": 404, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29], "starting_column": 1, "ending_column": null}}, "signature": "addr(bytes32)"}}], "description": "addr(bytes32) should be declared external:\n\t- ArgentENSResolver.addr(bytes32) (infrastructure/ens/ArgentENSResolver.sol#69-71)\n\t- ENSResolver.addr(bytes32) (infrastructure/ens/ENSResolver.sol#25)\n", "markdown": "addr(bytes32) should be declared external:\n\t- [ArgentENSResolver.addr(bytes32)](contracts/infrastructure/ens/ArgentENSResolver.sol#L69-L71)\n\t- [ENSResolver.addr(bytes32)](contracts/infrastructure/ens/ENSResolver.sol#L25)\n", "id": "1228b61e964c40df49d3014cb13affcb699d58056aad326c6b0aded70dda7826", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "setName", "source_mapping": {"start": 2005, "length": 156, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [59, 60, 61, 62], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentENSResolver", "source_mapping": {"start": 1059, "length": 2107, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 1, "ending_column": 2}}, "signature": "setName(bytes32,string)"}}, {"type": "function", "name": "setName", "source_mapping": {"start": 1112, "length": 60, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [28], "starting_column": 5, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSResolver", "source_mapping": {"start": 770, "length": 404, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29], "starting_column": 1, "ending_column": null}}, "signature": "setName(bytes32,string)"}}], "description": "setName(bytes32,string) should be declared external:\n\t- ArgentENSResolver.setName(bytes32,string) (infrastructure/ens/ArgentENSResolver.sol#59-62)\n\t- ENSResolver.setName(bytes32,string) (infrastructure/ens/ENSResolver.sol#28)\n", "markdown": "setName(bytes32,string) should be declared external:\n\t- [ArgentENSResolver.setName(bytes32,string)](contracts/infrastructure/ens/ArgentENSResolver.sol#L59-L62)\n\t- [ENSResolver.setName(bytes32,string)](contracts/infrastructure/ens/ENSResolver.sol#L28)\n", "id": "889fa15ea763f7ab757b5cab54c5f9a30efb53458ff59852ecfd417acb677690", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "setAddr", "source_mapping": {"start": 983, "length": 54, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [26], "starting_column": 5, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSResolver", "source_mapping": {"start": 770, "length": 404, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29], "starting_column": 1, "ending_column": null}}, "signature": "setAddr(bytes32,address)"}}, {"type": "function", "name": "setAddr", "source_mapping": {"start": 1685, "length": 150, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [49, 50, 51, 52], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentENSResolver", "source_mapping": {"start": 1059, "length": 2107, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 1, "ending_column": 2}}, "signature": "setAddr(bytes32,address)"}}], "description": "setAddr(bytes32,address) should be declared external:\n\t- ENSResolver.setAddr(bytes32,address) (infrastructure/ens/ENSResolver.sol#26)\n\t- ArgentENSResolver.setAddr(bytes32,address) (infrastructure/ens/ArgentENSResolver.sol#49-52)\n", "markdown": "setAddr(bytes32,address) should be declared external:\n\t- [ENSResolver.setAddr(bytes32,address)](contracts/infrastructure/ens/ENSResolver.sol#L26)\n\t- [ArgentENSResolver.setAddr(bytes32,address)](contracts/infrastructure/ens/ArgentENSResolver.sol#L49-L52)\n", "id": "a54fad1af87f1a6a0618d5f675a0d50bffa77f611b1ede38243c11a9d5e9938f", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "name", "source_mapping": {"start": 2589, "length": 108, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [78, 79, 80], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentENSResolver", "source_mapping": {"start": 1059, "length": 2107, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 1, "ending_column": 2}}, "signature": "name(bytes32)"}}, {"type": "function", "name": "name", "source_mapping": {"start": 1042, "length": 65, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [27], "starting_column": 5, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSResolver", "source_mapping": {"start": 770, "length": 404, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29], "starting_column": 1, "ending_column": null}}, "signature": "name(bytes32)"}}], "description": "name(bytes32) should be declared external:\n\t- ArgentENSResolver.name(bytes32) (infrastructure/ens/ArgentENSResolver.sol#78-80)\n\t- ENSResolver.name(bytes32) (infrastructure/ens/ENSResolver.sol#27)\n", "markdown": "name(bytes32) should be declared external:\n\t- [ArgentENSResolver.name(bytes32)](contracts/infrastructure/ens/ArgentENSResolver.sol#L78-L80)\n\t- [ENSResolver.name(bytes32)](contracts/infrastructure/ens/ENSResolver.sol#L27)\n", "id": "402593e2522882c515b1d1875761d791f380e334b812ce0a896680c0706bb23f", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "invoke", "source_mapping": {"start": 4403, "length": 329, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_relative": "contracts/legacy/LegacyBaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_short": "legacy/LegacyBaseWallet.sol", "is_dependency": false, "lines": [127, 128, 129, 130, 131, 132], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LegacyBaseWallet", "source_mapping": {"start": 940, "length": 4931, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_relative": "contracts/legacy/LegacyBaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_short": "legacy/LegacyBaseWallet.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 1, "ending_column": null}}, "signature": "invoke(address,uint256,bytes)"}}, {"type": "node", "name": "(success) = _target.call.value(_value)(_data)", "source_mapping": {"start": 4560, "length": 52, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_relative": "contracts/legacy/LegacyBaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_short": "legacy/LegacyBaseWallet.sol", "is_dependency": false, "lines": [129], "starting_column": 9, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "function", "name": "invoke", "source_mapping": {"start": 4403, "length": 329, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_relative": "contracts/legacy/LegacyBaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_short": "legacy/LegacyBaseWallet.sol", "is_dependency": false, "lines": [127, 128, 129, 130, 131, 132], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LegacyBaseWallet", "source_mapping": {"start": 940, "length": 4931, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_relative": "contracts/legacy/LegacyBaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_short": "legacy/LegacyBaseWallet.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 1, "ending_column": null}}, "signature": "invoke(address,uint256,bytes)"}}}}], "description": "LegacyBaseWallet.invoke(address,uint256,bytes) (legacy/LegacyBaseWallet.sol#127-132) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success) = _target.call.value(_value)(_data) (legacy/LegacyBaseWallet.sol#129)\n", "markdown": "[LegacyBaseWallet.invoke(address,uint256,bytes)](contracts/legacy/LegacyBaseWallet.sol#L127-L132) sends eth to arbitrary user\n\tDangerous calls:\n\t- [(success) = _target.call.value(_value)(_data)](contracts/legacy/LegacyBaseWallet.sol#L129)\n", "id": "bc7a0991a61524fa1a6244edb34ba0acc2833164d2c379fedd624aed00eb8478", "check": "arbitrary-send", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "invoke", "source_mapping": {"start": 4449, "length": 563, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseWallet", "source_mapping": {"start": 927, "length": 5214, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 1, "ending_column": null}}, "signature": "invoke(address,uint256,bytes)"}}, {"type": "node", "name": "(success,_result) = _target.call.value(_value)(_data)", "source_mapping": {"start": 4659, "length": 54, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [123], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "invoke", "source_mapping": {"start": 4449, "length": 563, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseWallet", "source_mapping": {"start": 927, "length": 5214, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 1, "ending_column": null}}, "signature": "invoke(address,uint256,bytes)"}}}}], "description": "BaseWallet.invoke(address,uint256,bytes) (wallet/BaseWallet.sol#120-132) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success,_result) = _target.call.value(_value)(_data) (wallet/BaseWallet.sol#123)\n", "markdown": "[BaseWallet.invoke(address,uint256,bytes)](contracts/wallet/BaseWallet.sol#L120-L132) sends eth to arbitrary user\n\tDangerous calls:\n\t- [(success,_result) = _target.call.value(_value)(_data)](contracts/wallet/BaseWallet.sol#L123)\n", "id": "f48dba7c4508664900e5e84925d725b14a315f893ce46248bbb856f1a3518ab7", "check": "arbitrary-send", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "debt", "source_mapping": {"start": 18407, "length": 720, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "debt(uint256)"}}, {"type": "node", "name": "_fullRepayment = art.mul(rate).div(RAY).add(1).add(art - art.mul(rate).div(RAY).mul(RAY).div(rate))", "source_mapping": {"start": 18831, "length": 217, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [484, 485, 486], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "debt", "source_mapping": {"start": 18407, "length": 720, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "debt(uint256)"}}}}], "description": "MakerV2Loan.debt(uint256) (modules/maker/MakerV2Loan.sol#472-488) performs a multiplication on the result of a division:\n\t-_fullRepayment = art.mul(rate).div(RAY).add(1).add(art - art.mul(rate).div(RAY).mul(RAY).div(rate)) (modules/maker/MakerV2Loan.sol#484-486)\n", "markdown": "[MakerV2Loan.debt(uint256)](contracts/modules/maker/MakerV2Loan.sol#L472-L488) performs a multiplication on the result of a division:\n\t-[_fullRepayment = art.mul(rate).div(RAY).add(1).add(art - art.mul(rate).div(RAY).mul(RAY).div(rate))](contracts/modules/maker/MakerV2Loan.sol#L484-L486)\n", "id": "db0b013332b3eef766eee9810a618ff55583af49e68d4278649d7489ed2e605b", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "closeLoan", "source_mapping": {"start": 5499, "length": 858, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2088, "length": 16210, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441], "starting_column": 1, "ending_column": 2}}, "signature": "closeLoan(BaseWallet,bytes32)"}}, {"type": "node", "name": "collateral == 0", "source_mapping": {"start": 6097, "length": 15, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [142], "starting_column": 21, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "function", "name": "closeLoan", "source_mapping": {"start": 5499, "length": 858, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2088, "length": 16210, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441], "starting_column": 1, "ending_column": 2}}, "signature": "closeLoan(BaseWallet,bytes32)"}}}}], "description": "CompoundManager.closeLoan(BaseWallet,bytes32) (modules/CompoundManager.sol#127-148) uses a dangerous strict equality:\n\t- collateral == 0 (modules/CompoundManager.sol#142)\n", "markdown": "[CompoundManager.closeLoan(BaseWallet,bytes32)](contracts/modules/CompoundManager.sol#L127-L148) uses a dangerous strict equality:\n\t- [collateral == 0](contracts/modules/CompoundManager.sol#L142)\n", "id": "061cbf34660b5998f21ac69055a7e2e4633de5d2daceb51fb5f30ff060b68603", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "exitMarketIfNeeded", "source_mapping": {"start": 17873, "length": 423, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [434, 435, 436, 437, 438, 439, 440], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2088, "length": 16210, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441], "starting_column": 1, "ending_column": 2}}, "signature": "exitMarketIfNeeded(BaseWallet,address,address)"}}, {"type": "node", "name": "collateral == 0 && debt == 0", "source_mapping": {"start": 18131, "length": 28, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [437], "starting_column": 13, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "exitMarketIfNeeded", "source_mapping": {"start": 17873, "length": 423, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [434, 435, 436, 437, 438, 439, 440], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CompoundManager", "source_mapping": {"start": 2088, "length": 16210, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_relative": "contracts/modules/CompoundManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/CompoundManager.sol", "filename_short": "modules/CompoundManager.sol", "is_dependency": false, "lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441], "starting_column": 1, "ending_column": 2}}, "signature": "exitMarketIfNeeded(BaseWallet,address,address)"}}}}], "description": "CompoundManager.exitMarketIfNeeded(BaseWallet,address,address) (modules/CompoundManager.sol#434-440) uses a dangerous strict equality:\n\t- collateral == 0 && debt == 0 (modules/CompoundManager.sol#437)\n", "markdown": "[CompoundManager.exitMarketIfNeeded(BaseWallet,address,address)](contracts/modules/CompoundManager.sol#L434-L440) uses a dangerous strict equality:\n\t- [collateral == 0 && debt == 0](contracts/modules/CompoundManager.sol#L437)\n", "id": "03f89548f49fa86b2f5df7c1cc4c1cec002637013d217dc53b36d6b573a5f5cb", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "notWhenRecovery", "source_mapping": {"start": 3171, "length": 176, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RecoveryManager", "source_mapping": {"start": 1302, "length": 7402, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201], "starting_column": 1, "ending_column": null}}, "signature": "notWhenRecovery(BaseWallet)"}}, {"type": "node", "name": "require(bool,string)(recoveryConfigs[address(_wallet)].executeAfter == 0,RM: there cannot be an ongoing recovery)", "source_mapping": {"start": 3226, "length": 103, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [80], "starting_column": 9, "ending_column": 112}, "type_specific_fields": {"parent": {"type": "function", "name": "notWhenRecovery", "source_mapping": {"start": 3171, "length": 176, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [79, 80, 81, 82], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RecoveryManager", "source_mapping": {"start": 1302, "length": 7402, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_relative": "contracts/modules/RecoveryManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/RecoveryManager.sol", "filename_short": "modules/RecoveryManager.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201], "starting_column": 1, "ending_column": null}}, "signature": "notWhenRecovery(BaseWallet)"}}}}], "description": "RecoveryManager.notWhenRecovery(BaseWallet) (modules/RecoveryManager.sol#79-82) uses a dangerous strict equality:\n\t- require(bool,string)(recoveryConfigs[address(_wallet)].executeAfter == 0,RM: there cannot be an ongoing recovery) (modules/RecoveryManager.sol#80)\n", "markdown": "[RecoveryManager.notWhenRecovery(BaseWallet)](contracts/modules/RecoveryManager.sol#L79-L82) uses a dangerous strict equality:\n\t- [require(bool,string)(recoveryConfigs[address(_wallet)].executeAfter == 0,RM: there cannot be an ongoing recovery)](contracts/modules/RecoveryManager.sol#L80)\n", "id": "3e0ff8d2262dc3b94c1e88c71c47858dbdbf3fefcd6613351d7a1d2c3e879247", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "Proxy", "source_mapping": {"start": 928, "length": 874, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_relative": "contracts/wallet/Proxy.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_short": "wallet/Proxy.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "starting_column": 1, "ending_column": null}}, {"type": "function", "name": "fallback", "source_mapping": {"start": 1155, "length": 645, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_relative": "contracts/wallet/Proxy.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_short": "wallet/Proxy.sol", "is_dependency": false, "lines": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 928, "length": 874, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_relative": "contracts/wallet/Proxy.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/Proxy.sol", "filename_short": "wallet/Proxy.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "starting_column": 1, "ending_column": null}}, "signature": "fallback()"}}], "description": "Contract locking ether found in :\n\tContract Proxy (wallet/Proxy.sol#24-51) has payable functions:\n\t - Proxy.fallback() (wallet/Proxy.sol#34-50)\n\tBut does not have a function to withdraw the ether\n", "markdown": "Contract locking ether found in :\n\tContract [Proxy](contracts/wallet/Proxy.sol#L24-L51) has payable functions:\n\t - [Proxy.fallback()](contracts/wallet/Proxy.sol#L34-L50)\n\tBut does not have a function to withdraw the ether\n", "id": "d81f129b4cacab67bb40a9aaac78cb3761919e72a7449c2adc319c2f043f667c", "check": "locked-ether", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "giveVault", "source_mapping": {"start": 12834, "length": 308, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(BaseWallet,bytes32)"}}, {"type": "node", "name": "cdpManager.give(uint256(_loanId),msg.sender)", "source_mapping": {"start": 13048, "length": 45, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [342], "starting_column": 9, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "giveVault", "source_mapping": {"start": 12834, "length": 308, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(BaseWallet,bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "clearLoanOwner(_wallet,_loanId)", "source_mapping": {"start": 13103, "length": 32, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [343], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "giveVault", "source_mapping": {"start": 12834, "length": 308, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "giveVault(BaseWallet,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}, {"type": "node", "name": "delete loanIds[address(_wallet)][cdpManager.ilks(uint256(_loanId))]", "source_mapping": {"start": 14134, "length": 67, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [368], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "clearLoanOwner", "source_mapping": {"start": 14054, "length": 154, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [367, 368, 369], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "clearLoanOwner(BaseWallet,bytes32)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}], "description": "Reentrancy in MakerV2Loan.giveVault(BaseWallet,bytes32) (modules/maker/MakerV2Loan.sol#333-344):\n\tExternal calls:\n\t- cdpManager.give(uint256(_loanId),msg.sender) (modules/maker/MakerV2Loan.sol#342)\n\tState variables written after the call(s):\n\t- clearLoanOwner(_wallet,_loanId) (modules/maker/MakerV2Loan.sol#343)\n\t\t- delete loanIds[address(_wallet)][cdpManager.ilks(uint256(_loanId))] (modules/maker/MakerV2Loan.sol#368)\n", "markdown": "Reentrancy in [MakerV2Loan.giveVault(BaseWallet,bytes32)](contracts/modules/maker/MakerV2Loan.sol#L333-L344):\n\tExternal calls:\n\t- [cdpManager.give(uint256(_loanId),msg.sender)](contracts/modules/maker/MakerV2Loan.sol#L342)\n\tState variables written after the call(s):\n\t- [clearLoanOwner(_wallet,_loanId)](contracts/modules/maker/MakerV2Loan.sol#L343)\n\t\t- [delete loanIds[address(_wallet)][cdpManager.ilks(uint256(_loanId))]](contracts/modules/maker/MakerV2Loan.sol#L368)\n", "id": "82ca3c2332c6a6757119b95a15651692b44811dbfc9bc757337679ade39797a9", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "openVault", "source_mapping": {"start": 20171, "length": 1173, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "openVault(BaseWallet,address,uint256,uint256)"}}, {"type": "node", "name": "_cdpId = cdpManager.open(ilk,address(this))", "source_mapping": {"start": 20866, "length": 44, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [539], "starting_column": 13, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "openVault", "source_mapping": {"start": 20171, "length": 1173, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "openVault(BaseWallet,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "loanIds[address(_wallet)][ilk] = bytes32(_cdpId)", "source_mapping": {"start": 20981, "length": 48, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [541], "starting_column": 13, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "function", "name": "openVault", "source_mapping": {"start": 20171, "length": 1173, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "openVault(BaseWallet,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "loanIds"}}], "description": "Reentrancy in MakerV2Loan.openVault(BaseWallet,address,uint256,uint256) (modules/maker/MakerV2Loan.sol#521-549):\n\tExternal calls:\n\t- _cdpId = cdpManager.open(ilk,address(this)) (modules/maker/MakerV2Loan.sol#539)\n\tState variables written after the call(s):\n\t- loanIds[address(_wallet)][ilk] = bytes32(_cdpId) (modules/maker/MakerV2Loan.sol#541)\n", "markdown": "Reentrancy in [MakerV2Loan.openVault(BaseWallet,address,uint256,uint256)](contracts/modules/maker/MakerV2Loan.sol#L521-L549):\n\tExternal calls:\n\t- [_cdpId = cdpManager.open(ilk,address(this))](contracts/modules/maker/MakerV2Loan.sol#L539)\n\tState variables written after the call(s):\n\t- [loanIds[address(_wallet)][ilk] = bytes32(_cdpId)](contracts/modules/maker/MakerV2Loan.sol#L541)\n", "id": "5a4a0e5f45d9c80ff43ab4ac5ebc84b81379dfde8078e3aad19cbddba2e60228", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "joinCollateral", "source_mapping": {"start": 15532, "length": 1097, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "joinCollateral(BaseWallet,uint256,uint256,bytes32)"}}, {"type": "node", "name": "collateral.approve(address(gemJoin),_collateralAmount)", "source_mapping": {"start": 16380, "length": 55, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [422], "starting_column": 9, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "joinCollateral", "source_mapping": {"start": 15532, "length": 1097, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "joinCollateral(BaseWallet,uint256,uint256,bytes32)"}}}}], "description": "MakerV2Loan.joinCollateral(BaseWallet,uint256,uint256,bytes32) (modules/maker/MakerV2Loan.sol#400-425) ignores return value by collateral.approve(address(gemJoin),_collateralAmount) (modules/maker/MakerV2Loan.sol#422)\n", "markdown": "[MakerV2Loan.joinCollateral(BaseWallet,uint256,uint256,bytes32)](contracts/modules/maker/MakerV2Loan.sol#L400-L425) ignores return value by [collateral.approve(address(gemJoin),_collateralAmount)](contracts/modules/maker/MakerV2Loan.sol#L422)\n", "id": "d9152ffd4bf45dfad922e1e8e1a7315cb4384428fc15ff7991a860c68140f15a", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "joinDebt", "source_mapping": {"start": 16635, "length": 750, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "joinDebt(BaseWallet,uint256,uint256)"}}, {"type": "node", "name": "daiToken.approve(address(daiJoin),_debtAmount)", "source_mapping": {"start": 17071, "length": 47, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [437], "starting_column": 9, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "joinDebt", "source_mapping": {"start": 16635, "length": 750, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MakerV2Loan", "source_mapping": {"start": 1348, "length": 24162, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_relative": "contracts/modules/maker/MakerV2Loan.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Loan.sol", "filename_short": "modules/maker/MakerV2Loan.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667], "starting_column": 1, "ending_column": null}}, "signature": "joinDebt(BaseWallet,uint256,uint256)"}}}}], "description": "MakerV2Loan.joinDebt(BaseWallet,uint256,uint256) (modules/maker/MakerV2Loan.sol#427-441) ignores return value by daiToken.approve(address(daiJoin),_debtAmount) (modules/maker/MakerV2Loan.sol#437)\n", "markdown": "[MakerV2Loan.joinDebt(BaseWallet,uint256,uint256)](contracts/modules/maker/MakerV2Loan.sol#L427-L441) ignores return value by [daiToken.approve(address(daiJoin),_debtAmount)](contracts/modules/maker/MakerV2Loan.sol#L437)\n", "id": "d84959a893bcaa0fcd7f794eaa715ebf1919a2008504692ec633240ee1e34429", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_registerWalletENS", "source_mapping": {"start": 14480, "length": 563, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_relative": "contracts/infrastructure/WalletFactory.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_short": "infrastructure/WalletFactory.sol", "is_dependency": false, "lines": [382, 383, 384, 385, 386, 387, 388, 389, 390], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletFactory", "source_mapping": {"start": 1150, "length": 13895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_relative": "contracts/infrastructure/WalletFactory.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_short": "infrastructure/WalletFactory.sol", "is_dependency": false, "lines": [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391], "starting_column": 1, "ending_column": 2}}, "signature": "_registerWalletENS(address,string)"}}, {"type": "node", "name": "BaseWallet(_wallet).invoke(ensReverseRegistrar,0,methodData)", "source_mapping": {"start": 14878, "length": 62, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_relative": "contracts/infrastructure/WalletFactory.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_short": "infrastructure/WalletFactory.sol", "is_dependency": false, "lines": [387], "starting_column": 9, "ending_column": 71}, "type_specific_fields": {"parent": {"type": "function", "name": "_registerWalletENS", "source_mapping": {"start": 14480, "length": 563, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_relative": "contracts/infrastructure/WalletFactory.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_short": "infrastructure/WalletFactory.sol", "is_dependency": false, "lines": [382, 383, 384, 385, 386, 387, 388, 389, 390], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "WalletFactory", "source_mapping": {"start": 1150, "length": 13895, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_relative": "contracts/infrastructure/WalletFactory.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/WalletFactory.sol", "filename_short": "infrastructure/WalletFactory.sol", "is_dependency": false, "lines": [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391], "starting_column": 1, "ending_column": 2}}, "signature": "_registerWalletENS(address,string)"}}}}], "description": "WalletFactory._registerWalletENS(address,string) (infrastructure/WalletFactory.sol#382-390) ignores return value by BaseWallet(_wallet).invoke(ensReverseRegistrar,0,methodData) (infrastructure/WalletFactory.sol#387)\n", "markdown": "[WalletFactory._registerWalletENS(address,string)](contracts/infrastructure/WalletFactory.sol#L382-L390) ignores return value by [BaseWallet(_wallet).invoke(ensReverseRegistrar,0,methodData)](contracts/infrastructure/WalletFactory.sol#L387)\n", "id": "eea578441a8a408a23eac36401e232447b3c1224a851332b78d0b2b3cc8736c5", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "recoverToken", "source_mapping": {"start": 3075, "length": 176, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ModuleRegistry.sol", "filename_short": "infrastructure/ModuleRegistry.sol", "is_dependency": false, "lines": [88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ModuleRegistry", "source_mapping": {"start": 984, "length": 3833, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ModuleRegistry.sol", "filename_short": "infrastructure/ModuleRegistry.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}, {"type": "node", "name": "ERC20(_token).transfer(msg.sender,total)", "source_mapping": {"start": 3203, "length": 41, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ModuleRegistry.sol", "filename_short": "infrastructure/ModuleRegistry.sol", "is_dependency": false, "lines": [90], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "recoverToken", "source_mapping": {"start": 3075, "length": 176, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ModuleRegistry.sol", "filename_short": "infrastructure/ModuleRegistry.sol", "is_dependency": false, "lines": [88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ModuleRegistry", "source_mapping": {"start": 984, "length": 3833, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ModuleRegistry.sol", "filename_relative": "contracts/infrastructure/ModuleRegistry.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ModuleRegistry.sol", "filename_short": "infrastructure/ModuleRegistry.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142], "starting_column": 1, "ending_column": null}}, "signature": "recoverToken(address)"}}}}], "description": "ModuleRegistry.recoverToken(address) (infrastructure/ModuleRegistry.sol#88-91) ignores return value by ERC20(_token).transfer(msg.sender,total) (infrastructure/ModuleRegistry.sol#90)\n", "markdown": "[ModuleRegistry.recoverToken(address)](contracts/infrastructure/ModuleRegistry.sol#L88-L91) ignores return value by [ERC20(_token).transfer(msg.sender,total)](contracts/infrastructure/ModuleRegistry.sol#L90)\n", "id": "44637314c9585aa9de1ce01d4d679a1bc743fabe6e41aeae744dcdeb5f0e8e9d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "implementation", "source_mapping": {"start": 993, "length": 29, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [27], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseWallet", "source_mapping": {"start": 927, "length": 5214, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_relative": "contracts/wallet/BaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/wallet/BaseWallet.sol", "filename_short": "wallet/BaseWallet.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 1, "ending_column": null}}}}], "description": "BaseWallet.implementation (wallet/BaseWallet.sol#27) should be constant\n", "markdown": "[BaseWallet.implementation](contracts/wallet/BaseWallet.sol#L27) should be constant\n", "id": "d2306d0a84c87fdb83bc0d89c644bd1c8abef756e76872d834ea614196cb27a4", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "implementation", "source_mapping": {"start": 1012, "length": 29, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_relative": "contracts/legacy/LegacyBaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_short": "legacy/LegacyBaseWallet.sol", "is_dependency": false, "lines": [36], "starting_column": 5, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "contract", "name": "LegacyBaseWallet", "source_mapping": {"start": 940, "length": 4931, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_relative": "contracts/legacy/LegacyBaseWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyBaseWallet.sol", "filename_short": "legacy/LegacyBaseWallet.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 1, "ending_column": null}}}}], "description": "LegacyBaseWallet.implementation (legacy/LegacyBaseWallet.sol#36) should be constant\n", "markdown": "[LegacyBaseWallet.implementation](contracts/legacy/LegacyBaseWallet.sol#L36) should be constant\n", "id": "92135bf5eec3554aac2ec68fe47d4be12aa1233efe860015b5091f42135e3fe2", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "setAddr", "source_mapping": {"start": 1685, "length": 150, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [49, 50, 51, 52], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentENSResolver", "source_mapping": {"start": 1059, "length": 2107, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 1, "ending_column": 2}}, "signature": "setAddr(bytes32,address)"}}, {"type": "function", "name": "setAddr", "source_mapping": {"start": 983, "length": 54, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [26], "starting_column": 5, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSResolver", "source_mapping": {"start": 770, "length": 404, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29], "starting_column": 1, "ending_column": null}}, "signature": "setAddr(bytes32,address)"}}], "description": "setAddr(bytes32,address) should be declared external:\n\t- ArgentENSResolver.setAddr(bytes32,address) (infrastructure/ens/ArgentENSResolver.sol#49-52)\n\t- ENSResolver.setAddr(bytes32,address) (infrastructure/ens/ENSResolver.sol#26)\n", "markdown": "setAddr(bytes32,address) should be declared external:\n\t- [ArgentENSResolver.setAddr(bytes32,address)](contracts/infrastructure/ens/ArgentENSResolver.sol#L49-L52)\n\t- [ENSResolver.setAddr(bytes32,address)](contracts/infrastructure/ens/ENSResolver.sol#L26)\n", "id": "1df4080d3c5362f00dc45553da3b1b97c767f40d1c3ff3b2a2a7d3ea02d7729a", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "setName", "source_mapping": {"start": 1112, "length": 60, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [28], "starting_column": 5, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSResolver", "source_mapping": {"start": 770, "length": 404, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29], "starting_column": 1, "ending_column": null}}, "signature": "setName(bytes32,string)"}}, {"type": "function", "name": "setName", "source_mapping": {"start": 2005, "length": 156, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [59, 60, 61, 62], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentENSResolver", "source_mapping": {"start": 1059, "length": 2107, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 1, "ending_column": 2}}, "signature": "setName(bytes32,string)"}}], "description": "setName(bytes32,string) should be declared external:\n\t- ENSResolver.setName(bytes32,string) (infrastructure/ens/ENSResolver.sol#28)\n\t- ArgentENSResolver.setName(bytes32,string) (infrastructure/ens/ArgentENSResolver.sol#59-62)\n", "markdown": "setName(bytes32,string) should be declared external:\n\t- [ENSResolver.setName(bytes32,string)](contracts/infrastructure/ens/ENSResolver.sol#L28)\n\t- [ArgentENSResolver.setName(bytes32,string)](contracts/infrastructure/ens/ArgentENSResolver.sol#L59-L62)\n", "id": "cab5c12507be1b8fc93e5c90e8dcd7836d4fabfcd2b667d23ccdaf68856cad2c", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "addr", "source_mapping": {"start": 919, "length": 59, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [25], "starting_column": 5, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSResolver", "source_mapping": {"start": 770, "length": 404, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29], "starting_column": 1, "ending_column": null}}, "signature": "addr(bytes32)"}}, {"type": "function", "name": "addr", "source_mapping": {"start": 2323, "length": 102, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentENSResolver", "source_mapping": {"start": 1059, "length": 2107, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 1, "ending_column": 2}}, "signature": "addr(bytes32)"}}], "description": "addr(bytes32) should be declared external:\n\t- ENSResolver.addr(bytes32) (infrastructure/ens/ENSResolver.sol#25)\n\t- ArgentENSResolver.addr(bytes32) (infrastructure/ens/ArgentENSResolver.sol#69-71)\n", "markdown": "addr(bytes32) should be declared external:\n\t- [ENSResolver.addr(bytes32)](contracts/infrastructure/ens/ENSResolver.sol#L25)\n\t- [ArgentENSResolver.addr(bytes32)](contracts/infrastructure/ens/ArgentENSResolver.sol#L69-L71)\n", "id": "0f84a89e4f55b16204a109d2cba1adf10dd0ed0128a297978ed2bc8919b48492", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "name", "source_mapping": {"start": 1042, "length": 65, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [27], "starting_column": 5, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSResolver", "source_mapping": {"start": 770, "length": 404, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSResolver.sol", "filename_short": "infrastructure/ens/ENSResolver.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29], "starting_column": 1, "ending_column": null}}, "signature": "name(bytes32)"}}, {"type": "function", "name": "name", "source_mapping": {"start": 2589, "length": 108, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [78, 79, 80], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentENSResolver", "source_mapping": {"start": 1059, "length": 2107, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 1, "ending_column": 2}}, "signature": "name(bytes32)"}}], "description": "name(bytes32) should be declared external:\n\t- ENSResolver.name(bytes32) (infrastructure/ens/ENSResolver.sol#27)\n\t- ArgentENSResolver.name(bytes32) (infrastructure/ens/ArgentENSResolver.sol#78-80)\n", "markdown": "name(bytes32) should be declared external:\n\t- [ENSResolver.name(bytes32)](contracts/infrastructure/ens/ENSResolver.sol#L27)\n\t- [ArgentENSResolver.name(bytes32)](contracts/infrastructure/ens/ArgentENSResolver.sol#L78-L80)\n", "id": "bc8e751de6144569ae34c5883a9082b238907ba26bcb208fc3327d47f818b487", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "supportsInterface", "source_mapping": {"start": 2954, "length": 209, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [87, 88, 89], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentENSResolver", "source_mapping": {"start": 1059, "length": 2107, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSResolver.sol", "filename_short": "infrastructure/ens/ArgentENSResolver.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 1, "ending_column": 2}}, "signature": "supportsInterface(bytes4)"}}], "description": "supportsInterface(bytes4) should be declared external:\n\t- ArgentENSResolver.supportsInterface(bytes4) (infrastructure/ens/ArgentENSResolver.sol#87-89)\n", "markdown": "supportsInterface(bytes4) should be declared external:\n\t- [ArgentENSResolver.supportsInterface(bytes4)](contracts/infrastructure/ens/ArgentENSResolver.sol#L87-L89)\n", "id": "d85de6068d5cb9fe1539e925323619b7c6fd0ab84371a6d54ed9e220655d3508", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "tag", "source_mapping": {"start": 1711, "length": 46, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "IMakerCdp", "source_mapping": {"start": 1120, "length": 1402, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 1, "ending_column": 2}}, "signature": "tag()"}}], "description": "tag() should be declared external:\n\t- IMakerCdp.tag() (legacy/LegacyMakerManager.sol#42)\n", "markdown": "tag() should be declared external:\n\t- [IMakerCdp.tag()](contracts/legacy/LegacyMakerManager.sol#L42)\n", "id": "01a9bc4f3824b9341def032eb640ad9e4e1eb760367b2d7962b2975818cb0bdf", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "mat", "source_mapping": {"start": 1762, "length": 46, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [43], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "IMakerCdp", "source_mapping": {"start": 1120, "length": 1402, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 1, "ending_column": 2}}, "signature": "mat()"}}], "description": "mat() should be declared external:\n\t- IMakerCdp.mat() (legacy/LegacyMakerManager.sol#43)\n", "markdown": "mat() should be declared external:\n\t- [IMakerCdp.mat()](contracts/legacy/LegacyMakerManager.sol#L43)\n", "id": "d166649b5c66724abdd09f509a3e8c27a407c8fbb0403f6a9f778e18221bae31", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "per", "source_mapping": {"start": 1813, "length": 46, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [44], "starting_column": 5, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "contract", "name": "IMakerCdp", "source_mapping": {"start": 1120, "length": 1402, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 1, "ending_column": 2}}, "signature": "per()"}}], "description": "per() should be declared external:\n\t- IMakerCdp.per() (legacy/LegacyMakerManager.sol#44)\n", "markdown": "per() should be declared external:\n\t- [IMakerCdp.per()](contracts/legacy/LegacyMakerManager.sol#L44)\n", "id": "4588e04a9f5a79427c86644dc71354f07a55d7189b7d40d875f312deee96b79b", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "ask", "source_mapping": {"start": 1920, "length": 50, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [46], "starting_column": 5, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "IMakerCdp", "source_mapping": {"start": 1120, "length": 1402, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 1, "ending_column": 2}}, "signature": "ask(uint256)"}}], "description": "ask(uint256) should be declared external:\n\t- IMakerCdp.ask(uint256) (legacy/LegacyMakerManager.sol#46)\n", "markdown": "ask(uint256) should be declared external:\n\t- [IMakerCdp.ask(uint256)](contracts/legacy/LegacyMakerManager.sol#L46)\n", "id": "36b2d3f40612fb1b85d74920db9e7e7f241c5e7e328f01168f78d8a53689dbd0", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "bid", "source_mapping": {"start": 1975, "length": 50, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [47], "starting_column": 5, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "contract", "name": "IMakerCdp", "source_mapping": {"start": 1120, "length": 1402, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 1, "ending_column": 2}}, "signature": "bid(uint256)"}}], "description": "bid(uint256) should be declared external:\n\t- IMakerCdp.bid(uint256) (legacy/LegacyMakerManager.sol#47)\n", "markdown": "bid(uint256) should be declared external:\n\t- [IMakerCdp.bid(uint256)](contracts/legacy/LegacyMakerManager.sol#L47)\n", "id": "3e67a8eda50613233ea12715519f7393b16f0c02d0e1da2280b74bb8330f1bbf", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "isSafe", "source_mapping": {"start": 18879, "length": 117, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [477, 478, 479], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LegacyMakerManager", "source_mapping": {"start": 2959, "length": 22555, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635], "starting_column": 1, "ending_column": 2}}, "signature": "isSafe(bytes32,IMakerCdp)"}}], "description": "isSafe(bytes32,IMakerCdp) should be declared external:\n\t- LegacyMakerManager.isSafe(bytes32,IMakerCdp) (legacy/LegacyMakerManager.sol#477-479)\n", "markdown": "isSafe(bytes32,IMakerCdp) should be declared external:\n\t- [LegacyMakerManager.isSafe(bytes32,IMakerCdp)](contracts/legacy/LegacyMakerManager.sol#L477-L479)\n", "id": "c346cd710bb146d79124411d6a6ea7af715be742d8f1676ebf152dd79d80067c", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "maxDaiDrawable", "source_mapping": {"start": 19662, "length": 260, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [497, 498, 499, 500], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LegacyMakerManager", "source_mapping": {"start": 2959, "length": 22555, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635], "starting_column": 1, "ending_column": 2}}, "signature": "maxDaiDrawable(bytes32,IMakerCdp)"}}], "description": "maxDaiDrawable(bytes32,IMakerCdp) should be declared external:\n\t- LegacyMakerManager.maxDaiDrawable(bytes32,IMakerCdp) (legacy/LegacyMakerManager.sol#497-500)\n", "markdown": "maxDaiDrawable(bytes32,IMakerCdp) should be declared external:\n\t- [LegacyMakerManager.maxDaiDrawable(bytes32,IMakerCdp)](contracts/legacy/LegacyMakerManager.sol#L497-L500)\n", "id": "febb233459b37f0a59f22f9bb388e6f015117222d969313176bd8f0caf3972df", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "minCollateralRequired", "source_mapping": {"start": 20252, "length": 267, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [508, 509, 510, 511], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LegacyMakerManager", "source_mapping": {"start": 2959, "length": 22555, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635], "starting_column": 1, "ending_column": 2}}, "signature": "minCollateralRequired(bytes32,IMakerCdp)"}}], "description": "minCollateralRequired(bytes32,IMakerCdp) should be declared external:\n\t- LegacyMakerManager.minCollateralRequired(bytes32,IMakerCdp) (legacy/LegacyMakerManager.sol#508-511)\n", "markdown": "minCollateralRequired(bytes32,IMakerCdp) should be declared external:\n\t- [LegacyMakerManager.minCollateralRequired(bytes32,IMakerCdp)](contracts/legacy/LegacyMakerManager.sol#L508-L511)\n", "id": "dcab05ec4e18e0c4036b0e094e052aa5e399033a6bbde010d82ad3b9654ba98b", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "minRequiredCollateral", "source_mapping": {"start": 21903, "length": 476, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [546, 547, 548, 549, 550, 551, 552, 553, 554], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LegacyMakerManager", "source_mapping": {"start": 2959, "length": 22555, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_relative": "contracts/legacy/LegacyMakerManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/legacy/LegacyMakerManager.sol", "filename_short": "legacy/LegacyMakerManager.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635], "starting_column": 1, "ending_column": 2}}, "signature": "minRequiredCollateral(bytes32,IMakerCdp)"}}], "description": "minRequiredCollateral(bytes32,IMakerCdp) should be declared external:\n\t- LegacyMakerManager.minRequiredCollateral(bytes32,IMakerCdp) (legacy/LegacyMakerManager.sol#546-554)\n", "markdown": "minRequiredCollateral(bytes32,IMakerCdp) should be declared external:\n\t- [LegacyMakerManager.minRequiredCollateral(bytes32,IMakerCdp)](contracts/legacy/LegacyMakerManager.sol#L546-L554)\n", "id": "cba1f06401425ac17aac96a22388bf8996c1275fdb1d13e8c218e2e3959ffe9f", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "claim", "source_mapping": {"start": 814, "length": 56, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_relative": "contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_short": "infrastructure/ens/ENSReverseRegistrar.sol", "is_dependency": false, "lines": [22], "starting_column": 5, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSReverseRegistrar", "source_mapping": {"start": 779, "length": 317, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_relative": "contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_short": "infrastructure/ens/ENSReverseRegistrar.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26], "starting_column": 1, "ending_column": null}}, "signature": "claim(address)"}}], "description": "claim(address) should be declared external:\n\t- ENSReverseRegistrar.claim(address) (infrastructure/ens/ENSReverseRegistrar.sol#22)\n", "markdown": "claim(address) should be declared external:\n\t- [ENSReverseRegistrar.claim(address)](contracts/infrastructure/ens/ENSReverseRegistrar.sol#L22)\n", "id": "4f9e0abd9fe9ffeea6c7d874a1af06e2c4acde79052640fa782e24ea57f2d6db", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "claimWithResolver", "source_mapping": {"start": 875, "length": 87, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_relative": "contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_short": "infrastructure/ens/ENSReverseRegistrar.sol", "is_dependency": false, "lines": [23], "starting_column": 5, "ending_column": 92}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSReverseRegistrar", "source_mapping": {"start": 779, "length": 317, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_relative": "contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_short": "infrastructure/ens/ENSReverseRegistrar.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26], "starting_column": 1, "ending_column": null}}, "signature": "claimWithResolver(address,address)"}}], "description": "claimWithResolver(address,address) should be declared external:\n\t- ENSReverseRegistrar.claimWithResolver(address,address) (infrastructure/ens/ENSReverseRegistrar.sol#23)\n", "markdown": "claimWithResolver(address,address) should be declared external:\n\t- [ENSReverseRegistrar.claimWithResolver(address,address)](contracts/infrastructure/ens/ENSReverseRegistrar.sol#L23)\n", "id": "1986538270e526ebc1b8e4d4222c7cb6ddd784bda2796b04f3916d7b92965596", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "setName", "source_mapping": {"start": 967, "length": 63, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_relative": "contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_short": "infrastructure/ens/ENSReverseRegistrar.sol", "is_dependency": false, "lines": [24], "starting_column": 5, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSReverseRegistrar", "source_mapping": {"start": 779, "length": 317, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_relative": "contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_short": "infrastructure/ens/ENSReverseRegistrar.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26], "starting_column": 1, "ending_column": null}}, "signature": "setName(string)"}}], "description": "setName(string) should be declared external:\n\t- ENSReverseRegistrar.setName(string) (infrastructure/ens/ENSReverseRegistrar.sol#24)\n", "markdown": "setName(string) should be declared external:\n\t- [ENSReverseRegistrar.setName(string)](contracts/infrastructure/ens/ENSReverseRegistrar.sol#L24)\n", "id": "baaa51b3c540270842a2eed17d0a5b88aebbe8b49a4ad21a7aebb3d2b77cd108", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "node", "source_mapping": {"start": 1035, "length": 59, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_relative": "contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_short": "infrastructure/ens/ENSReverseRegistrar.sol", "is_dependency": false, "lines": [25], "starting_column": 5, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "contract", "name": "ENSReverseRegistrar", "source_mapping": {"start": 779, "length": 317, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_relative": "contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ENSReverseRegistrar.sol", "filename_short": "infrastructure/ens/ENSReverseRegistrar.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26], "starting_column": 1, "ending_column": null}}, "signature": "node(address)"}}], "description": "node(address) should be declared external:\n\t- ENSReverseRegistrar.node(address) (infrastructure/ens/ENSReverseRegistrar.sol#25)\n", "markdown": "node(address) should be declared external:\n\t- [ENSReverseRegistrar.node(address)](contracts/infrastructure/ens/ENSReverseRegistrar.sol#L25)\n", "id": "087e13ac7a31bf083bfa50ea2d90d946a97525ee370fbb135322aa8fa49d7165", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "execute", "source_mapping": {"start": 3035, "length": 1432, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_relative": "contracts/infrastructure/MultiSigWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_short": "infrastructure/MultiSigWallet.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MultiSigWallet", "source_mapping": {"start": 852, "length": 6477, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_relative": "contracts/infrastructure/MultiSigWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_short": "infrastructure/MultiSigWallet.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170], "starting_column": 1, "ending_column": null}}, "signature": "execute(address,uint256,bytes,bytes)"}}], "description": "execute(address,uint256,bytes,bytes) should be declared external:\n\t- MultiSigWallet.execute(address,uint256,bytes,bytes) (infrastructure/MultiSigWallet.sol#77-105)\n", "markdown": "execute(address,uint256,bytes,bytes) should be declared external:\n\t- [MultiSigWallet.execute(address,uint256,bytes,bytes)](contracts/infrastructure/MultiSigWallet.sol#L77-L105)\n", "id": "c3af5848178a216692f1dd8bcebeb3cec8f959ac7b120616003a9eeef59a0196", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "addOwner", "source_mapping": {"start": 4721, "length": 295, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_relative": "contracts/infrastructure/MultiSigWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_short": "infrastructure/MultiSigWallet.sol", "is_dependency": false, "lines": [112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MultiSigWallet", "source_mapping": {"start": 852, "length": 6477, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_relative": "contracts/infrastructure/MultiSigWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_short": "infrastructure/MultiSigWallet.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170], "starting_column": 1, "ending_column": null}}, "signature": "addOwner(address)"}}], "description": "addOwner(address) should be declared external:\n\t- MultiSigWallet.addOwner(address) (infrastructure/MultiSigWallet.sol#112-118)\n", "markdown": "addOwner(address) should be declared external:\n\t- [MultiSigWallet.addOwner(address)](contracts/infrastructure/MultiSigWallet.sol#L112-L118)\n", "id": "5efcde21d2a78ac98bff9840f6f55e1c1786b437adaa99ec2fd11cf6eacf78c4", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "removeOwner", "source_mapping": {"start": 5285, "length": 288, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_relative": "contracts/infrastructure/MultiSigWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_short": "infrastructure/MultiSigWallet.sol", "is_dependency": false, "lines": [125, 126, 127, 128, 129, 130, 131], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MultiSigWallet", "source_mapping": {"start": 852, "length": 6477, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_relative": "contracts/infrastructure/MultiSigWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_short": "infrastructure/MultiSigWallet.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170], "starting_column": 1, "ending_column": null}}, "signature": "removeOwner(address)"}}], "description": "removeOwner(address) should be declared external:\n\t- MultiSigWallet.removeOwner(address) (infrastructure/MultiSigWallet.sol#125-131)\n", "markdown": "removeOwner(address) should be declared external:\n\t- [MultiSigWallet.removeOwner(address)](contracts/infrastructure/MultiSigWallet.sol#L125-L131)\n", "id": "abec3a9be52925542f3856e3e13b059576195bf6e1664d926bac665d14c7fff7", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "changeThreshold", "source_mapping": {"start": 5831, "length": 252, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_relative": "contracts/infrastructure/MultiSigWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_short": "infrastructure/MultiSigWallet.sol", "is_dependency": false, "lines": [138, 139, 140, 141, 142], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MultiSigWallet", "source_mapping": {"start": 852, "length": 6477, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_relative": "contracts/infrastructure/MultiSigWallet.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/MultiSigWallet.sol", "filename_short": "infrastructure/MultiSigWallet.sol", "is_dependency": false, "lines": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170], "starting_column": 1, "ending_column": null}}, "signature": "changeThreshold(uint256)"}}], "description": "changeThreshold(uint256) should be declared external:\n\t- MultiSigWallet.changeThreshold(uint256) (infrastructure/MultiSigWallet.sol#138-142)\n", "markdown": "changeThreshold(uint256) should be declared external:\n\t- [MultiSigWallet.changeThreshold(uint256)](contracts/infrastructure/MultiSigWallet.sol#L138-L142)\n", "id": "434de4d96de5a8d7990cbd19c4b842b7b2dc02b90b2cb2d11c934328ba9321d4", "check": "external-function", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "function", "name": "isAvailable", "source_mapping": {"start": 4986, "length": 300, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSManager.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSManager.sol", "filename_short": "infrastructure/ens/ArgentENSManager.sol", "is_dependency": false, "lines": [128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ArgentENSManager", "source_mapping": {"start": 1264, "length": 4157, "filename_used": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSManager.sol", "filename_relative": "contracts/infrastructure/ens/ArgentENSManager.sol", "filename_absolute": "/Users/Elena/Source/argent-contracts/contracts/infrastructure/ens/ArgentENSManager.sol", "filename_short": "infrastructure/ens/ArgentENSManager.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "starting_column": 1, "ending_column": 2}}, "signature": "isAvailable(bytes32)"}}], "description": "isAvailable(bytes32) should be declared external:\n\t- ArgentENSManager.isAvailable(bytes32) (infrastructure/ens/ArgentENSManager.sol#128-135)\n", "markdown": "isAvailable(bytes32) should be declared external:\n\t- [ArgentENSManager.isAvailable(bytes32)](contracts/infrastructure/ens/ArgentENSManager.sol#L128-L135)\n", "id": "cea6114fb3f780560283a46b42da16e84525fd172d22aef195e6fb3716f49b5d", "check": "external-function", "impact": "Optimization", "confidence": "High"}]