forked from ethereum-optimism/optimism
-
Notifications
You must be signed in to change notification settings - Fork 0
/
slither.db.json
1 lines (1 loc) · 409 KB
/
slither.db.json
1
[{"elements": [{"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 14716, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 1, "ending_column": 11}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}, {"type": "node", "name": "! success && tx.origin == Constants.ESTIMATION_ADDRESS", "source_mapping": {"start": 16916, "length": 53, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [351, 352], "starting_column": 88, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 14716, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 1, "ending_column": 11}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}], "description": "OptimismPortal2.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (src/L1/OptimismPortal2.sol#310-353) uses tx.origin for authorization: ! success && tx.origin == Constants.ESTIMATION_ADDRESS (src/L1/OptimismPortal2.sol#351-352)\n", "markdown": "[OptimismPortal2.finalizeWithdrawalTransaction(Types.WithdrawalTransaction)](src/L1/OptimismPortal2.sol#L310-L353) uses tx.origin for authorization: [! success && tx.origin == Constants.ESTIMATION_ADDRESS](src/L1/OptimismPortal2.sol#L351-L352)\n", "first_markdown_element": "src/L1/OptimismPortal2.sol#L310-L353", "id": "d48d1e372e3b9eedcc9cd7898b5c06c3d9a034fd7b2fe74f33030a43b17ace68", "check": "tx-origin", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 15460, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 23826, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}, {"type": "node", "name": "! success && tx.origin == Constants.ESTIMATION_ADDRESS", "source_mapping": {"start": 17660, "length": 53, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [365], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 15460, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 23826, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}], "description": "OptimismPortal2.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (src/L1/OptimismPortal2.sol#326-368) uses tx.origin for authorization: ! success && tx.origin == Constants.ESTIMATION_ADDRESS (src/L1/OptimismPortal2.sol#365)\n", "markdown": "[OptimismPortal2.finalizeWithdrawalTransaction(Types.WithdrawalTransaction)](src/L1/OptimismPortal2.sol#L326-L368) uses tx.origin for authorization: [! success && tx.origin == Constants.ESTIMATION_ADDRESS](src/L1/OptimismPortal2.sol#L365)\n", "first_markdown_element": "src/L1/OptimismPortal2.sol#L326-L368", "id": "1ff38a1a3765ac0e84f926b9fc8a4c45324bb734bbf2aab3c9f62e58a99a6859", "check": "tx-origin", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "proveWithdrawalTransaction", "source_mapping": {"start": 10692, "length": 3911, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309], "starting_column": 74, "ending_column": 9}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 1, "ending_column": 11}}, "signature": "proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])"}}, {"type": "node", "name": "(gameType,gameProxy) = disputeGameFactory.gameAtIndex(_disputeGameIndex)", "source_mapping": {"start": 11391, "length": 96, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [250, 251, 252], "starting_column": 34, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "function", "name": "proveWithdrawalTransaction", "source_mapping": {"start": 10692, "length": 3911, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309], "starting_column": 74, "ending_column": 9}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 1, "ending_column": 11}}, "signature": "proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])"}}}}], "description": "OptimismPortal2.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[]) (src/L1/OptimismPortal2.sol#238-309) ignores return value by (gameType,gameProxy) = disputeGameFactory.gameAtIndex(_disputeGameIndex) (src/L1/OptimismPortal2.sol#250-252)\n", "markdown": "[OptimismPortal2.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])](src/L1/OptimismPortal2.sol#L238-L309) ignores return value by [(gameType,gameProxy) = disputeGameFactory.gameAtIndex(_disputeGameIndex)](src/L1/OptimismPortal2.sol#L250-L252)\n", "first_markdown_element": "src/L1/OptimismPortal2.sol#L238-L309", "id": "988135f1cdbc085e5427f69ba7b5c4ad2b9e4332b9f3e009e1df32e8b056deb1", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "proveWithdrawalTransaction", "source_mapping": {"start": 11321, "length": 4026, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 23826, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498], "starting_column": 1, "ending_column": 2}}, "signature": "proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])"}}, {"type": "node", "name": "(gameType,gameProxy) = disputeGameFactory.gameAtIndex(_disputeGameIndex)", "source_mapping": {"start": 12020, "length": 96, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [264], "starting_column": 9, "ending_column": 105}, "type_specific_fields": {"parent": {"type": "function", "name": "proveWithdrawalTransaction", "source_mapping": {"start": 11321, "length": 4026, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 23826, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498], "starting_column": 1, "ending_column": 2}}, "signature": "proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])"}}}}], "description": "OptimismPortal2.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[]) (src/L1/OptimismPortal2.sol#249-322) ignores return value by (gameType,gameProxy) = disputeGameFactory.gameAtIndex(_disputeGameIndex) (src/L1/OptimismPortal2.sol#264)\n", "markdown": "[OptimismPortal2.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])](src/L1/OptimismPortal2.sol#L249-L322) ignores return value by [(gameType,gameProxy) = disputeGameFactory.gameAtIndex(_disputeGameIndex)](src/L1/OptimismPortal2.sol#L264)\n", "first_markdown_element": "src/L1/OptimismPortal2.sol#L249-L322", "id": "a456300035f2d7bf357556a28b682d2e5e736e7dd889515683935f960874a7b0", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "l2Sender", "source_mapping": {"start": 2796, "length": 23, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [54], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 1, "ending_column": 11}}}}, {"type": "node", "name": "l2Sender = _tx.sender", "source_mapping": {"start": 15617, "length": 21, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [327], "starting_column": 54, "ending_column": 75}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 14716, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 1, "ending_column": 11}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}, {"type": "node", "name": "l2Sender = Constants.DEFAULT_L2_SENDER", "source_mapping": {"start": 16411, "length": 38, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [346], "starting_column": 27, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 14716, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480], "starting_column": 1, "ending_column": 11}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}], "description": "OptimismPortal2.l2Sender (src/L1/OptimismPortal2.sol#54) is written in both\n\tl2Sender = _tx.sender (src/L1/OptimismPortal2.sol#327)\n\tl2Sender = Constants.DEFAULT_L2_SENDER (src/L1/OptimismPortal2.sol#346)\n", "markdown": "[OptimismPortal2.l2Sender](src/L1/OptimismPortal2.sol#L54) is written in both\n\t[l2Sender = _tx.sender](src/L1/OptimismPortal2.sol#L327)\n\t[l2Sender = Constants.DEFAULT_L2_SENDER](src/L1/OptimismPortal2.sol#L346)\n", "first_markdown_element": "src/L1/OptimismPortal2.sol#L54", "id": "ec66682a9884e1f71956f493ab54d04460e4827acbde3d42678a3a0a56e2ce43", "check": "write-after-write", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "l2Sender", "source_mapping": {"start": 2796, "length": 23, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [54], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 23826, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498], "starting_column": 1, "ending_column": 2}}}}, {"type": "node", "name": "l2Sender = _tx.sender", "source_mapping": {"start": 16361, "length": 21, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [344], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 15460, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 23826, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}, {"type": "node", "name": "l2Sender = Constants.DEFAULT_L2_SENDER", "source_mapping": {"start": 17155, "length": 38, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [356], "starting_column": 9, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 15460, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 23826, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}], "description": "OptimismPortal2.l2Sender (src/L1/OptimismPortal2.sol#54) is written in both\n\tl2Sender = _tx.sender (src/L1/OptimismPortal2.sol#344)\n\tl2Sender = Constants.DEFAULT_L2_SENDER (src/L1/OptimismPortal2.sol#356)\n", "markdown": "[OptimismPortal2.l2Sender](src/L1/OptimismPortal2.sol#L54) is written in both\n\t[l2Sender = _tx.sender](src/L1/OptimismPortal2.sol#L344)\n\t[l2Sender = Constants.DEFAULT_L2_SENDER](src/L1/OptimismPortal2.sol#L356)\n", "first_markdown_element": "src/L1/OptimismPortal2.sol#L54", "id": "294dba726d30e30cbad67ac423aff3fb10ccffb8f37fe69888eb06cd2e7faad9", "check": "write-after-write", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "initiator", "source_mapping": {"start": 3840, "length": 119, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "initiator()"}}, {"type": "function", "name": "readOrHandle", "source_mapping": {"start": 2780, "length": 200, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "readOrHandle()"}}, {"type": "node", "name": "return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))", "source_mapping": {"start": 7550, "length": 48, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [184], "starting_column": 17, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_forwardAndHalt", "source_mapping": {"start": 7281, "length": 466, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_forwardAndHalt(bytes32)"}}}}], "description": "DelayedVetoable.initiator() (src/L1/DelayedVetoable.sol#90-92) calls DelayedVetoable.readOrHandle() (src/L1/DelayedVetoable.sol#61-68) which halt the execution return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata)) (src/L1/DelayedVetoable.sol#184)\n", "markdown": "[DelayedVetoable.initiator()](src/L1/DelayedVetoable.sol#L90-L92) calls [DelayedVetoable.readOrHandle()](src/L1/DelayedVetoable.sol#L61-L68) which halt the execution [return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))](src/L1/DelayedVetoable.sol#L184)\n", "first_markdown_element": "src/L1/DelayedVetoable.sol#L90-L92", "id": "2f0ff440c452994f93eeb59d1118c67b60d90509cd44640ed4bcda175849d617", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "vetoer", "source_mapping": {"start": 4050, "length": 107, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [96, 97, 98], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "vetoer()"}}, {"type": "function", "name": "readOrHandle", "source_mapping": {"start": 2780, "length": 200, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "readOrHandle()"}}, {"type": "node", "name": "return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))", "source_mapping": {"start": 7550, "length": 48, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [184], "starting_column": 17, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_forwardAndHalt", "source_mapping": {"start": 7281, "length": 466, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_forwardAndHalt(bytes32)"}}}}], "description": "DelayedVetoable.vetoer() (src/L1/DelayedVetoable.sol#96-98) calls DelayedVetoable.readOrHandle() (src/L1/DelayedVetoable.sol#61-68) which halt the execution return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata)) (src/L1/DelayedVetoable.sol#184)\n", "markdown": "[DelayedVetoable.vetoer()](src/L1/DelayedVetoable.sol#L96-L98) calls [DelayedVetoable.readOrHandle()](src/L1/DelayedVetoable.sol#L61-L68) which halt the execution [return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))](src/L1/DelayedVetoable.sol#L184)\n", "first_markdown_element": "src/L1/DelayedVetoable.sol#L96-L98", "id": "c5d34a7c09aed9f0e9eda0a08d720363d155a5c2f8a51262699cd9cda8f6e081", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "target", "source_mapping": {"start": 4248, "length": 99, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [102, 103, 104], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "target()"}}, {"type": "function", "name": "readOrHandle", "source_mapping": {"start": 2780, "length": 200, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "readOrHandle()"}}, {"type": "node", "name": "return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))", "source_mapping": {"start": 7550, "length": 48, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [184], "starting_column": 17, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_forwardAndHalt", "source_mapping": {"start": 7281, "length": 466, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_forwardAndHalt(bytes32)"}}}}], "description": "DelayedVetoable.target() (src/L1/DelayedVetoable.sol#102-104) calls DelayedVetoable.readOrHandle() (src/L1/DelayedVetoable.sol#61-68) which halt the execution return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata)) (src/L1/DelayedVetoable.sol#184)\n", "markdown": "[DelayedVetoable.target()](src/L1/DelayedVetoable.sol#L102-L104) calls [DelayedVetoable.readOrHandle()](src/L1/DelayedVetoable.sol#L61-L68) which halt the execution [return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))](src/L1/DelayedVetoable.sol#L184)\n", "first_markdown_element": "src/L1/DelayedVetoable.sol#L102-L104", "id": "40b59d20ec40f1b518e51f0b99ea46375013ec50b66df052612434f826263ed1", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "delay", "source_mapping": {"start": 4422, "length": 96, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [108, 109, 110], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "delay()"}}, {"type": "function", "name": "readOrHandle", "source_mapping": {"start": 2780, "length": 200, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "readOrHandle()"}}, {"type": "node", "name": "return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))", "source_mapping": {"start": 7550, "length": 48, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [184], "starting_column": 17, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_forwardAndHalt", "source_mapping": {"start": 7281, "length": 466, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_forwardAndHalt(bytes32)"}}}}], "description": "DelayedVetoable.delay() (src/L1/DelayedVetoable.sol#108-110) calls DelayedVetoable.readOrHandle() (src/L1/DelayedVetoable.sol#61-68) which halt the execution return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata)) (src/L1/DelayedVetoable.sol#184)\n", "markdown": "[DelayedVetoable.delay()](src/L1/DelayedVetoable.sol#L108-L110) calls [DelayedVetoable.readOrHandle()](src/L1/DelayedVetoable.sol#L61-L68) which halt the execution [return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))](src/L1/DelayedVetoable.sol#L184)\n", "first_markdown_element": "src/L1/DelayedVetoable.sol#L108-L110", "id": "f3b27aa640fa9135b6551282605b609c44ebb060ab15e1b568c919a1900278e6", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "queuedAt", "source_mapping": {"start": 4692, "length": 134, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [115, 116, 117], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "queuedAt(bytes32)"}}, {"type": "function", "name": "readOrHandle", "source_mapping": {"start": 2780, "length": 200, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "readOrHandle()"}}, {"type": "node", "name": "return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))", "source_mapping": {"start": 7550, "length": 48, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [184], "starting_column": 17, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_forwardAndHalt", "source_mapping": {"start": 7281, "length": 466, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_forwardAndHalt(bytes32)"}}}}], "description": "DelayedVetoable.queuedAt(bytes32) (src/L1/DelayedVetoable.sol#115-117) calls DelayedVetoable.readOrHandle() (src/L1/DelayedVetoable.sol#61-68) which halt the execution return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata)) (src/L1/DelayedVetoable.sol#184)\n", "markdown": "[DelayedVetoable.queuedAt(bytes32)](src/L1/DelayedVetoable.sol#L115-L117) calls [DelayedVetoable.readOrHandle()](src/L1/DelayedVetoable.sol#L61-L68) which halt the execution [return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))](src/L1/DelayedVetoable.sol#L184)\n", "first_markdown_element": "src/L1/DelayedVetoable.sol#L115-L117", "id": "60e2d0b2123f864b56411897c63b8a4d35b8c0fa967e80cddc8f466b40e977f9", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_handleCall", "source_mapping": {"start": 5192, "length": 2009, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.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, 149, 150, 151, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_handleCall()"}}, {"type": "function", "name": "_forwardAndHalt", "source_mapping": {"start": 7281, "length": 466, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_forwardAndHalt(bytes32)"}}, {"type": "node", "name": "return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))", "source_mapping": {"start": 7550, "length": 48, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [184], "starting_column": 17, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_forwardAndHalt", "source_mapping": {"start": 7281, "length": 466, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_forwardAndHalt(bytes32)"}}}}], "description": "DelayedVetoable._handleCall() (src/L1/DelayedVetoable.sol#127-175) calls DelayedVetoable._forwardAndHalt(bytes32) (src/L1/DelayedVetoable.sol#178-191) which halt the execution return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata)) (src/L1/DelayedVetoable.sol#184)\n", "markdown": "[DelayedVetoable._handleCall()](src/L1/DelayedVetoable.sol#L127-L175) calls [DelayedVetoable._forwardAndHalt(bytes32)](src/L1/DelayedVetoable.sol#L178-L191) which halt the execution [return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))](src/L1/DelayedVetoable.sol#L184)\n", "first_markdown_element": "src/L1/DelayedVetoable.sol#L127-L175", "id": "7de03eb5bb5d87de6cb2002aff77b9a53a4101ff3b1e1d794f3aba799c6452a6", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "readOrHandle", "source_mapping": {"start": 2780, "length": 200, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "readOrHandle()"}}, {"type": "function", "name": "_handleCall", "source_mapping": {"start": 5192, "length": 2009, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.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, 149, 150, 151, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_handleCall()"}}, {"type": "node", "name": "return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))", "source_mapping": {"start": 7550, "length": 48, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [184], "starting_column": 17, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_forwardAndHalt", "source_mapping": {"start": 7281, "length": 466, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_forwardAndHalt(bytes32)"}}}}], "description": "DelayedVetoable.readOrHandle() (src/L1/DelayedVetoable.sol#61-68) calls DelayedVetoable._handleCall() (src/L1/DelayedVetoable.sol#127-175) which halt the execution return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata)) (src/L1/DelayedVetoable.sol#184)\n", "markdown": "[DelayedVetoable.readOrHandle()](src/L1/DelayedVetoable.sol#L61-L68) calls [DelayedVetoable._handleCall()](src/L1/DelayedVetoable.sol#L127-L175) which halt the execution [return(uint256,uint256)(returndata + 0x20,mload(uint256)(returndata))](src/L1/DelayedVetoable.sol#L184)\n", "first_markdown_element": "src/L1/DelayedVetoable.sol#L61-L68", "id": "12541821582e8769db5cb6534423a56e3cbae828c5a9e26da1db6d6f8c10634a", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setCode", "source_mapping": {"start": 5022, "length": 1285, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "setCode(bytes)"}}, {"type": "function", "name": "proxyCallIfNotOwner", "source_mapping": {"start": 3867, "length": 237, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [64, 65, 66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotOwner()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 9403, "length": 29, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [196], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 8349, "length": 1099, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "L1ChugSplashProxy.setCode(bytes) (src/legacy/L1ChugSplashProxy.sol#96-124) calls L1ChugSplashProxy.proxyCallIfNotOwner() (src/legacy/L1ChugSplashProxy.sol#64-71) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/legacy/L1ChugSplashProxy.sol#196)\n", "markdown": "[L1ChugSplashProxy.setCode(bytes)](src/legacy/L1ChugSplashProxy.sol#L96-L124) calls [L1ChugSplashProxy.proxyCallIfNotOwner()](src/legacy/L1ChugSplashProxy.sol#L64-L71) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/legacy/L1ChugSplashProxy.sol#L196)\n", "first_markdown_element": "src/legacy/L1ChugSplashProxy.sol#L96-L124", "id": "4ea64b8e0080de740c9c25e7841217213a680d8680654c8c9f744be145a1431a", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setStorage", "source_mapping": {"start": 6596, "length": 148, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [130, 131, 132, 133, 134], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "setStorage(bytes32,bytes32)"}}, {"type": "function", "name": "proxyCallIfNotOwner", "source_mapping": {"start": 3867, "length": 237, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [64, 65, 66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotOwner()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 9403, "length": 29, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [196], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 8349, "length": 1099, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "L1ChugSplashProxy.setStorage(bytes32,bytes32) (src/legacy/L1ChugSplashProxy.sol#130-134) calls L1ChugSplashProxy.proxyCallIfNotOwner() (src/legacy/L1ChugSplashProxy.sol#64-71) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/legacy/L1ChugSplashProxy.sol#196)\n", "markdown": "[L1ChugSplashProxy.setStorage(bytes32,bytes32)](src/legacy/L1ChugSplashProxy.sol#L130-L134) calls [L1ChugSplashProxy.proxyCallIfNotOwner()](src/legacy/L1ChugSplashProxy.sol#L64-L71) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/legacy/L1ChugSplashProxy.sol#L196)\n", "first_markdown_element": "src/legacy/L1ChugSplashProxy.sol#L130-L134", "id": "c116aac23f49ec7d5d6574972abfbf02d56d0521ea2285dc09d239a829e7d2af", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setOwner", "source_mapping": {"start": 6890, "length": 97, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [138, 139, 140], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "setOwner(address)"}}, {"type": "function", "name": "proxyCallIfNotOwner", "source_mapping": {"start": 3867, "length": 237, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [64, 65, 66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotOwner()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 9403, "length": 29, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [196], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 8349, "length": 1099, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "L1ChugSplashProxy.setOwner(address) (src/legacy/L1ChugSplashProxy.sol#138-140) calls L1ChugSplashProxy.proxyCallIfNotOwner() (src/legacy/L1ChugSplashProxy.sol#64-71) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/legacy/L1ChugSplashProxy.sol#196)\n", "markdown": "[L1ChugSplashProxy.setOwner(address)](src/legacy/L1ChugSplashProxy.sol#L138-L140) calls [L1ChugSplashProxy.proxyCallIfNotOwner()](src/legacy/L1ChugSplashProxy.sol#L64-L71) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/legacy/L1ChugSplashProxy.sol#L196)\n", "first_markdown_element": "src/legacy/L1ChugSplashProxy.sol#L138-L140", "id": "0b6d0d6699a3fa3c78250e527327e43538895feecaa6cfd8a1793dfcc1d20c72", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getOwner", "source_mapping": {"start": 7200, "length": 102, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "getOwner()"}}, {"type": "function", "name": "proxyCallIfNotOwner", "source_mapping": {"start": 3867, "length": 237, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [64, 65, 66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotOwner()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 9403, "length": 29, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [196], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 8349, "length": 1099, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "L1ChugSplashProxy.getOwner() (src/legacy/L1ChugSplashProxy.sol#145-147) calls L1ChugSplashProxy.proxyCallIfNotOwner() (src/legacy/L1ChugSplashProxy.sol#64-71) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/legacy/L1ChugSplashProxy.sol#196)\n", "markdown": "[L1ChugSplashProxy.getOwner()](src/legacy/L1ChugSplashProxy.sol#L145-L147) calls [L1ChugSplashProxy.proxyCallIfNotOwner()](src/legacy/L1ChugSplashProxy.sol#L64-L71) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/legacy/L1ChugSplashProxy.sol#L196)\n", "first_markdown_element": "src/legacy/L1ChugSplashProxy.sol#L145-L147", "id": "98821b545d4849522091839fbd87144e6fcc256a73b9dd1817676bd127be6d8c", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getImplementation", "source_mapping": {"start": 7519, "length": 120, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [152, 153, 154], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "getImplementation()"}}, {"type": "function", "name": "proxyCallIfNotOwner", "source_mapping": {"start": 3867, "length": 237, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [64, 65, 66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotOwner()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 9403, "length": 29, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [196], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 8349, "length": 1099, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "L1ChugSplashProxy.getImplementation() (src/legacy/L1ChugSplashProxy.sol#152-154) calls L1ChugSplashProxy.proxyCallIfNotOwner() (src/legacy/L1ChugSplashProxy.sol#64-71) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/legacy/L1ChugSplashProxy.sol#196)\n", "markdown": "[L1ChugSplashProxy.getImplementation()](src/legacy/L1ChugSplashProxy.sol#L152-L154) calls [L1ChugSplashProxy.proxyCallIfNotOwner()](src/legacy/L1ChugSplashProxy.sol#L64-L71) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/legacy/L1ChugSplashProxy.sol#L196)\n", "first_markdown_element": "src/legacy/L1ChugSplashProxy.sol#L152-L154", "id": "11c5e51d3a0080a2b8f208ae6ec1a4c5617c6df83441ac96c67f322294f73f2b", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "proxyCallIfNotOwner", "source_mapping": {"start": 3867, "length": 237, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [64, 65, 66, 67, 68, 69, 70, 71], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotOwner()"}}, {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 8349, "length": 1099, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 9403, "length": 29, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [196], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 8349, "length": 1099, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ChugSplashProxy", "source_mapping": {"start": 1025, "length": 9534, "filename_relative": "src/legacy/L1ChugSplashProxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1ChugSplashProxy.sol", "filename_short": "src/legacy/L1ChugSplashProxy.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "L1ChugSplashProxy.proxyCallIfNotOwner() (src/legacy/L1ChugSplashProxy.sol#64-71) calls L1ChugSplashProxy._doProxyCall() (src/legacy/L1ChugSplashProxy.sol#175-198) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/legacy/L1ChugSplashProxy.sol#196)\n", "markdown": "[L1ChugSplashProxy.proxyCallIfNotOwner()](src/legacy/L1ChugSplashProxy.sol#L64-L71) calls [L1ChugSplashProxy._doProxyCall()](src/legacy/L1ChugSplashProxy.sol#L175-L198) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/legacy/L1ChugSplashProxy.sol#L196)\n", "first_markdown_element": "src/legacy/L1ChugSplashProxy.sol#L64-L71", "id": "648de83c485a902ab3df50445e187c6390720ae77705d14edbcc112e4fd8fe1a", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeTo", "source_mapping": {"start": 2498, "length": 131, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [59, 60, 61], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeTo(address)"}}, {"type": "function", "name": "proxyCallIfNotAdmin", "source_mapping": {"start": 1295, "length": 237, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 5922, "length": 29, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [143], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 4928, "length": 1039, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "Proxy.upgradeTo(address) (src/universal/Proxy.sol#59-61) calls Proxy.proxyCallIfNotAdmin() (src/universal/Proxy.sol#26-33) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/universal/Proxy.sol#143)\n", "markdown": "[Proxy.upgradeTo(address)](src/universal/Proxy.sol#L59-L61) calls [Proxy.proxyCallIfNotAdmin()](src/universal/Proxy.sol#L26-L33) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/universal/Proxy.sol#L143)\n", "first_markdown_element": "src/universal/Proxy.sol#L59-L61", "id": "5dbecee956931b503b0ed4fbb7be62ba5f9f64bab10ac87b3c5ba4dab3694bec", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeToAndCall", "source_mapping": {"start": 2959, "length": 458, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeToAndCall(address,bytes)"}}, {"type": "function", "name": "proxyCallIfNotAdmin", "source_mapping": {"start": 1295, "length": 237, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 5922, "length": 29, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [143], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 4928, "length": 1039, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "Proxy.upgradeToAndCall(address,bytes) (src/universal/Proxy.sol#67-81) calls Proxy.proxyCallIfNotAdmin() (src/universal/Proxy.sol#26-33) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/universal/Proxy.sol#143)\n", "markdown": "[Proxy.upgradeToAndCall(address,bytes)](src/universal/Proxy.sol#L67-L81) calls [Proxy.proxyCallIfNotAdmin()](src/universal/Proxy.sol#L26-L33) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/universal/Proxy.sol#L143)\n", "first_markdown_element": "src/universal/Proxy.sol#L67-L81", "id": "2792614492719714cdcff9f7f8e1c602931befa4b0b2d9e0845a2fbf3964f949", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "changeAdmin", "source_mapping": {"start": 3563, "length": 109, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "changeAdmin(address)"}}, {"type": "function", "name": "proxyCallIfNotAdmin", "source_mapping": {"start": 1295, "length": 237, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 5922, "length": 29, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [143], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 4928, "length": 1039, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "Proxy.changeAdmin(address) (src/universal/Proxy.sol#85-87) calls Proxy.proxyCallIfNotAdmin() (src/universal/Proxy.sol#26-33) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/universal/Proxy.sol#143)\n", "markdown": "[Proxy.changeAdmin(address)](src/universal/Proxy.sol#L85-L87) calls [Proxy.proxyCallIfNotAdmin()](src/universal/Proxy.sol#L26-L33) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/universal/Proxy.sol#L143)\n", "first_markdown_element": "src/universal/Proxy.sol#L85-L87", "id": "5f00d9ac316494d702da33c92ba3267b0b2a5ab498b5c720e942923a75fd0f50", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "admin", "source_mapping": {"start": 3763, "length": 105, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [91, 92, 93], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "admin()"}}, {"type": "function", "name": "proxyCallIfNotAdmin", "source_mapping": {"start": 1295, "length": 237, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 5922, "length": 29, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [143], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 4928, "length": 1039, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "Proxy.admin() (src/universal/Proxy.sol#91-93) calls Proxy.proxyCallIfNotAdmin() (src/universal/Proxy.sol#26-33) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/universal/Proxy.sol#143)\n", "markdown": "[Proxy.admin()](src/universal/Proxy.sol#L91-L93) calls [Proxy.proxyCallIfNotAdmin()](src/universal/Proxy.sol#L26-L33) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/universal/Proxy.sol#L143)\n", "first_markdown_element": "src/universal/Proxy.sol#L91-L93", "id": "61c6823d9d96abad705c3e29c3768a5d2ade61e6f226c9241e6f3278063ab469", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "implementation", "source_mapping": {"start": 3967, "length": 123, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [97, 98, 99], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "implementation()"}}, {"type": "function", "name": "proxyCallIfNotAdmin", "source_mapping": {"start": 1295, "length": 237, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotAdmin()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 5922, "length": 29, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [143], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 4928, "length": 1039, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "Proxy.implementation() (src/universal/Proxy.sol#97-99) calls Proxy.proxyCallIfNotAdmin() (src/universal/Proxy.sol#26-33) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/universal/Proxy.sol#143)\n", "markdown": "[Proxy.implementation()](src/universal/Proxy.sol#L97-L99) calls [Proxy.proxyCallIfNotAdmin()](src/universal/Proxy.sol#L26-L33) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/universal/Proxy.sol#L143)\n", "first_markdown_element": "src/universal/Proxy.sol#L97-L99", "id": "1e96b3f3be5c5b827284291533d15f8b70c3f8bc774e863359baa95195e8a79c", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "proxyCallIfNotAdmin", "source_mapping": {"start": 1295, "length": 237, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "proxyCallIfNotAdmin()"}}, {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 4928, "length": 1039, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}, {"type": "node", "name": "return(uint256,uint256)(0x0,returndatasize()())", "source_mapping": {"start": 5922, "length": 29, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [143], "starting_column": 13, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_doProxyCall", "source_mapping": {"start": 4928, "length": 1039, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Proxy", "source_mapping": {"start": 348, "length": 6312, "filename_relative": "src/universal/Proxy.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/Proxy.sol", "filename_short": "src/universal/Proxy.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 1, "ending_column": 2}}, "signature": "_doProxyCall()"}}}}], "description": "Proxy.proxyCallIfNotAdmin() (src/universal/Proxy.sol#26-33) calls Proxy._doProxyCall() (src/universal/Proxy.sol#123-145) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (src/universal/Proxy.sol#143)\n", "markdown": "[Proxy.proxyCallIfNotAdmin()](src/universal/Proxy.sol#L26-L33) calls [Proxy._doProxyCall()](src/universal/Proxy.sol#L123-L145) which halt the execution [return(uint256,uint256)(0x0,returndatasize()())](src/universal/Proxy.sol#L143)\n", "first_markdown_element": "src/universal/Proxy.sol#L26-L33", "id": "d14996b9cc4486d4926155fb1f3d0c1ffc8be9b4af43a61074039356721c7e45", "check": "incorrect-return", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "blobBaseFee", "source_mapping": {"start": 1899, "length": 26, "filename_relative": "src/L2/L1Block.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L2/L1Block.sol", "filename_short": "src/L2/L1Block.sol", "is_dependency": false, "lines": [50], "starting_column": 5, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1Block", "source_mapping": {"start": 588, "length": 4256, "filename_relative": "src/L2/L1Block.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L2/L1Block.sol", "filename_short": "src/L2/L1Block.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "setL1BlockValuesEcotone", "source_mapping": {"start": 3886, "length": 956, "filename_relative": "src/L2/L1Block.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L2/L1Block.sol", "filename_short": "src/L2/L1Block.sol", "is_dependency": false, "lines": [101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1Block", "source_mapping": {"start": 588, "length": 4256, "filename_relative": "src/L2/L1Block.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L2/L1Block.sol", "filename_short": "src/L2/L1Block.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], "starting_column": 1, "ending_column": 2}}, "signature": "setL1BlockValuesEcotone()"}}], "description": "L1Block.blobBaseFee (src/L2/L1Block.sol#50) is never initialized. It is used in:\n\t- L1Block.setL1BlockValuesEcotone() (src/L2/L1Block.sol#101-118)\n", "markdown": "[L1Block.blobBaseFee](src/L2/L1Block.sol#L50) is never initialized. It is used in:\n\t- [L1Block.setL1BlockValuesEcotone()](src/L2/L1Block.sol#L101-L118)\n", "first_markdown_element": "src/L2/L1Block.sol#L50", "id": "fa673f7f315b9ee7fea38da72b4b0b0eb94babc8d0938536b00ce803ecc07fa2", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "_metered", "source_mapping": {"start": 3817, "length": 4037, "filename_relative": "src/L1/ResourceMetering.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/ResourceMetering.sol", "filename_short": "src/L1/ResourceMetering.sol", "is_dependency": false, "lines": [74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 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": "ResourceMetering", "source_mapping": {"start": 527, "length": 8071, "filename_relative": "src/L1/ResourceMetering.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/ResourceMetering.sol", "filename_short": "src/L1/ResourceMetering.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162], "starting_column": 1, "ending_column": 2}}, "signature": "_metered(uint64,uint256)"}}, {"type": "node", "name": "targetResourceLimit = int256(uint256(config.maxResourceLimit)) / int256(uint256(config.elasticityMultiplier))", "source_mapping": {"start": 4072, "length": 128, "filename_relative": "src/L1/ResourceMetering.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/ResourceMetering.sol", "filename_short": "src/L1/ResourceMetering.sol", "is_dependency": false, "lines": [79, 80], "starting_column": 9, "ending_column": 100}, "type_specific_fields": {"parent": {"type": "function", "name": "_metered", "source_mapping": {"start": 3817, "length": 4037, "filename_relative": "src/L1/ResourceMetering.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/ResourceMetering.sol", "filename_short": "src/L1/ResourceMetering.sol", "is_dependency": false, "lines": [74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 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": "ResourceMetering", "source_mapping": {"start": 527, "length": 8071, "filename_relative": "src/L1/ResourceMetering.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/ResourceMetering.sol", "filename_short": "src/L1/ResourceMetering.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162], "starting_column": 1, "ending_column": 2}}, "signature": "_metered(uint64,uint256)"}}}}, {"type": "node", "name": "baseFeeDelta = (int256(uint256(params.prevBaseFee)) * gasUsedDelta) / (targetResourceLimit * int256(uint256(config.baseFeeMaxChangeDenominator)))", "source_mapping": {"start": 4630, "length": 168, "filename_relative": "src/L1/ResourceMetering.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/ResourceMetering.sol", "filename_short": "src/L1/ResourceMetering.sol", "is_dependency": false, "lines": [87, 88], "starting_column": 13, "ending_column": 94}, "type_specific_fields": {"parent": {"type": "function", "name": "_metered", "source_mapping": {"start": 3817, "length": 4037, "filename_relative": "src/L1/ResourceMetering.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/ResourceMetering.sol", "filename_short": "src/L1/ResourceMetering.sol", "is_dependency": false, "lines": [74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 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": "ResourceMetering", "source_mapping": {"start": 527, "length": 8071, "filename_relative": "src/L1/ResourceMetering.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/ResourceMetering.sol", "filename_short": "src/L1/ResourceMetering.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162], "starting_column": 1, "ending_column": 2}}, "signature": "_metered(uint64,uint256)"}}}}], "description": "ResourceMetering._metered(uint64,uint256) (src/L1/ResourceMetering.sol#74-146) performs a multiplication on the result of a division:\n\t- targetResourceLimit = int256(uint256(config.maxResourceLimit)) / int256(uint256(config.elasticityMultiplier)) (src/L1/ResourceMetering.sol#79-80)\n\t- baseFeeDelta = (int256(uint256(params.prevBaseFee)) * gasUsedDelta) / (targetResourceLimit * int256(uint256(config.baseFeeMaxChangeDenominator))) (src/L1/ResourceMetering.sol#87-88)\n", "markdown": "[ResourceMetering._metered(uint64,uint256)](src/L1/ResourceMetering.sol#L74-L146) performs a multiplication on the result of a division:\n\t- [targetResourceLimit = int256(uint256(config.maxResourceLimit)) / int256(uint256(config.elasticityMultiplier))](src/L1/ResourceMetering.sol#L79-L80)\n\t- [baseFeeDelta = (int256(uint256(params.prevBaseFee)) * gasUsedDelta) / (targetResourceLimit * int256(uint256(config.baseFeeMaxChangeDenominator)))](src/L1/ResourceMetering.sol#L87-L88)\n", "first_markdown_element": "src/L1/ResourceMetering.sol#L74-L146", "id": "595a94c37aa9f252f126879331b7f976f816b1f68c91143e14e849044bc177c0", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "L1BlockNumber", "source_mapping": {"start": 668, "length": 888, "filename_relative": "src/legacy/L1BlockNumber.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1BlockNumber.sol", "filename_short": "src/legacy/L1BlockNumber.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "starting_column": 1, "ending_column": 2}}, {"type": "function", "name": "receive", "source_mapping": {"start": 863, "length": 178, "filename_relative": "src/legacy/L1BlockNumber.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1BlockNumber.sol", "filename_short": "src/legacy/L1BlockNumber.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1BlockNumber", "source_mapping": {"start": 668, "length": 888, "filename_relative": "src/legacy/L1BlockNumber.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1BlockNumber.sol", "filename_short": "src/legacy/L1BlockNumber.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "starting_column": 1, "ending_column": 2}}, "signature": "receive()"}}, {"type": "function", "name": "fallback", "source_mapping": {"start": 1145, "length": 179, "filename_relative": "src/legacy/L1BlockNumber.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1BlockNumber.sol", "filename_short": "src/legacy/L1BlockNumber.sol", "is_dependency": false, "lines": [32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1BlockNumber", "source_mapping": {"start": 668, "length": 888, "filename_relative": "src/legacy/L1BlockNumber.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/legacy/L1BlockNumber.sol", "filename_short": "src/legacy/L1BlockNumber.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], "starting_column": 1, "ending_column": 2}}, "signature": "fallback()"}}], "description": "Contract locking ether found:\n\tContract L1BlockNumber (src/legacy/L1BlockNumber.sol#16-45) has payable functions:\n\t - L1BlockNumber.receive() (src/legacy/L1BlockNumber.sol#22-28)\n\t - L1BlockNumber.fallback() (src/legacy/L1BlockNumber.sol#32-38)\n\tBut does not have a function to withdraw the ether\n", "markdown": "Contract locking ether found:\n\tContract [L1BlockNumber](src/legacy/L1BlockNumber.sol#L16-L45) has payable functions:\n\t - [L1BlockNumber.receive()](src/legacy/L1BlockNumber.sol#L22-L28)\n\t - [L1BlockNumber.fallback()](src/legacy/L1BlockNumber.sol#L32-L38)\n\tBut does not have a function to withdraw the ether\n", "first_markdown_element": "src/legacy/L1BlockNumber.sol#L16-L45", "id": "c0920fe4b6b04a2b81f69b85402d465719d06978441052f49a6582415934a1bf", "check": "locked-ether", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "contract", "name": "SchemaResolver", "source_mapping": {"start": 350, "length": 5868, "filename_relative": "src/EAS/resolver/SchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/SchemaResolver.sol", "filename_short": "src/EAS/resolver/SchemaResolver.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, {"type": "function", "name": "attest", "source_mapping": {"start": 565, "length": 82, "filename_relative": "src/EAS/resolver/ISchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/ISchemaResolver.sol", "filename_short": "src/EAS/resolver/ISchemaResolver.sol", "is_dependency": false, "lines": [16], "starting_column": 5, "ending_column": 87}, "type_specific_fields": {"parent": {"type": "contract", "name": "ISchemaResolver", "source_mapping": {"start": 188, "length": 1672, "filename_relative": "src/EAS/resolver/ISchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/ISchemaResolver.sol", "filename_short": "src/EAS/resolver/ISchemaResolver.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "starting_column": 1, "ending_column": 2}}, "signature": "attest(Attestation)"}}, {"type": "function", "name": "multiAttest", "source_mapping": {"start": 926, "length": 163, "filename_relative": "src/EAS/resolver/ISchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/ISchemaResolver.sol", "filename_short": "src/EAS/resolver/ISchemaResolver.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28], "starting_column": 5, "ending_column": 24}, "type_specific_fields": {"parent": {"type": "contract", "name": "ISchemaResolver", "source_mapping": {"start": 188, "length": 1672, "filename_relative": "src/EAS/resolver/ISchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/ISchemaResolver.sol", "filename_short": "src/EAS/resolver/ISchemaResolver.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "starting_column": 1, "ending_column": 2}}, "signature": "multiAttest(Attestation[],uint256[])"}}, {"type": "function", "name": "revoke", "source_mapping": {"start": 1305, "length": 82, "filename_relative": "src/EAS/resolver/ISchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/ISchemaResolver.sol", "filename_short": "src/EAS/resolver/ISchemaResolver.sol", "is_dependency": false, "lines": [33], "starting_column": 5, "ending_column": 87}, "type_specific_fields": {"parent": {"type": "contract", "name": "ISchemaResolver", "source_mapping": {"start": 188, "length": 1672, "filename_relative": "src/EAS/resolver/ISchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/ISchemaResolver.sol", "filename_short": "src/EAS/resolver/ISchemaResolver.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "starting_column": 1, "ending_column": 2}}, "signature": "revoke(Attestation)"}}, {"type": "function", "name": "multiRevoke", "source_mapping": {"start": 1695, "length": 163, "filename_relative": "src/EAS/resolver/ISchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/ISchemaResolver.sol", "filename_short": "src/EAS/resolver/ISchemaResolver.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45], "starting_column": 5, "ending_column": 24}, "type_specific_fields": {"parent": {"type": "contract", "name": "ISchemaResolver", "source_mapping": {"start": 188, "length": 1672, "filename_relative": "src/EAS/resolver/ISchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/ISchemaResolver.sol", "filename_short": "src/EAS/resolver/ISchemaResolver.sol", "is_dependency": false, "lines": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "starting_column": 1, "ending_column": 2}}, "signature": "multiRevoke(Attestation[],uint256[])"}}, {"type": "function", "name": "receive", "source_mapping": {"start": 1054, "length": 113, "filename_relative": "src/EAS/resolver/SchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/SchemaResolver.sol", "filename_short": "src/EAS/resolver/SchemaResolver.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SchemaResolver", "source_mapping": {"start": 350, "length": 5868, "filename_relative": "src/EAS/resolver/SchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/SchemaResolver.sol", "filename_short": "src/EAS/resolver/SchemaResolver.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "receive()"}}, {"type": "function", "name": "attest", "source_mapping": {"start": 1209, "length": 146, "filename_relative": "src/EAS/resolver/SchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/SchemaResolver.sol", "filename_short": "src/EAS/resolver/SchemaResolver.sol", "is_dependency": false, "lines": [48, 49, 50], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SchemaResolver", "source_mapping": {"start": 350, "length": 5868, "filename_relative": "src/EAS/resolver/SchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/SchemaResolver.sol", "filename_short": "src/EAS/resolver/SchemaResolver.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "attest(Attestation)"}}, {"type": "function", "name": "multiAttest", "source_mapping": {"start": 1397, "length": 1497, "filename_relative": "src/EAS/resolver/SchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/SchemaResolver.sol", "filename_short": "src/EAS/resolver/SchemaResolver.sol", "is_dependency": false, "lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SchemaResolver", "source_mapping": {"start": 350, "length": 5868, "filename_relative": "src/EAS/resolver/SchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/SchemaResolver.sol", "filename_short": "src/EAS/resolver/SchemaResolver.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "multiAttest(Attestation[],uint256[])"}}, {"type": "function", "name": "revoke", "source_mapping": {"start": 2936, "length": 146, "filename_relative": "src/EAS/resolver/SchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/SchemaResolver.sol", "filename_short": "src/EAS/resolver/SchemaResolver.sol", "is_dependency": false, "lines": [95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SchemaResolver", "source_mapping": {"start": 350, "length": 5868, "filename_relative": "src/EAS/resolver/SchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/SchemaResolver.sol", "filename_short": "src/EAS/resolver/SchemaResolver.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "revoke(Attestation)"}}, {"type": "function", "name": "multiRevoke", "source_mapping": {"start": 3124, "length": 1496, "filename_relative": "src/EAS/resolver/SchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/SchemaResolver.sol", "filename_short": "src/EAS/resolver/SchemaResolver.sol", "is_dependency": false, "lines": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SchemaResolver", "source_mapping": {"start": 350, "length": 5868, "filename_relative": "src/EAS/resolver/SchemaResolver.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/EAS/resolver/SchemaResolver.sol", "filename_short": "src/EAS/resolver/SchemaResolver.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], "starting_column": 1, "ending_column": 2}}, "signature": "multiRevoke(Attestation[],uint256[])"}}], "description": "Contract locking ether found:\n\tContract SchemaResolver (src/EAS/resolver/SchemaResolver.sol#11-165) has payable functions:\n\t - ISchemaResolver.attest(Attestation) (src/EAS/resolver/ISchemaResolver.sol#16)\n\t - ISchemaResolver.multiAttest(Attestation[],uint256[]) (src/EAS/resolver/ISchemaResolver.sol#22-28)\n\t - ISchemaResolver.revoke(Attestation) (src/EAS/resolver/ISchemaResolver.sol#33)\n\t - ISchemaResolver.multiRevoke(Attestation[],uint256[]) (src/EAS/resolver/ISchemaResolver.sol#39-45)\n\t - SchemaResolver.receive() (src/EAS/resolver/SchemaResolver.sol#41-45)\n\t - SchemaResolver.attest(Attestation) (src/EAS/resolver/SchemaResolver.sol#48-50)\n\t - SchemaResolver.multiAttest(Attestation[],uint256[]) (src/EAS/resolver/SchemaResolver.sol#53-92)\n\t - SchemaResolver.revoke(Attestation) (src/EAS/resolver/SchemaResolver.sol#95-97)\n\t - SchemaResolver.multiRevoke(Attestation[],uint256[]) (src/EAS/resolver/SchemaResolver.sol#100-139)\n\tBut does not have a function to withdraw the ether\n", "markdown": "Contract locking ether found:\n\tContract [SchemaResolver](src/EAS/resolver/SchemaResolver.sol#L11-L165) has payable functions:\n\t - [ISchemaResolver.attest(Attestation)](src/EAS/resolver/ISchemaResolver.sol#L16)\n\t - [ISchemaResolver.multiAttest(Attestation[],uint256[])](src/EAS/resolver/ISchemaResolver.sol#L22-L28)\n\t - [ISchemaResolver.revoke(Attestation)](src/EAS/resolver/ISchemaResolver.sol#L33)\n\t - [ISchemaResolver.multiRevoke(Attestation[],uint256[])](src/EAS/resolver/ISchemaResolver.sol#L39-L45)\n\t - [SchemaResolver.receive()](src/EAS/resolver/SchemaResolver.sol#L41-L45)\n\t - [SchemaResolver.attest(Attestation)](src/EAS/resolver/SchemaResolver.sol#L48-L50)\n\t - [SchemaResolver.multiAttest(Attestation[],uint256[])](src/EAS/resolver/SchemaResolver.sol#L53-L92)\n\t - [SchemaResolver.revoke(Attestation)](src/EAS/resolver/SchemaResolver.sol#L95-L97)\n\t - [SchemaResolver.multiRevoke(Attestation[],uint256[])](src/EAS/resolver/SchemaResolver.sol#L100-L139)\n\tBut does not have a function to withdraw the ether\n", "first_markdown_element": "src/EAS/resolver/SchemaResolver.sol#L11-L165", "id": "3e52f3459d6607e6494e893c33e98bfaee52639c20f8e8366a39b97d30efeb9d", "check": "locked-ether", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_handleCall", "source_mapping": {"start": 5192, "length": 2009, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.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, 149, 150, 151, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_handleCall()"}}, {"type": "node", "name": "_forwardAndHalt(callHash)", "source_mapping": {"start": 5929, "length": 25, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [144], "starting_column": 17, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "_handleCall", "source_mapping": {"start": 5192, "length": 2009, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.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, 149, 150, 151, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_handleCall()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "(success,returndata) = TARGET.call(msg.data)", "source_mapping": {"start": 7415, "length": 63, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [181], "starting_column": 9, "ending_column": 72}, "type_specific_fields": {"parent": {"type": "function", "name": "_forwardAndHalt", "source_mapping": {"start": 7281, "length": 466, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_forwardAndHalt(bytes32)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_queuedAt[callHash] = block.timestamp", "source_mapping": {"start": 5982, "length": 37, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [146], "starting_column": 13, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "_handleCall", "source_mapping": {"start": 5192, "length": 2009, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.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, 149, 150, 151, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DelayedVetoable", "source_mapping": {"start": 695, "length": 7054, "filename_relative": "src/L1/DelayedVetoable.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/DelayedVetoable.sol", "filename_short": "src/L1/DelayedVetoable.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 1, "ending_column": 2}}, "signature": "_handleCall()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_queuedAt"}}], "description": "Reentrancy in DelayedVetoable._handleCall() (src/L1/DelayedVetoable.sol#127-175):\n\tExternal calls:\n\t- _forwardAndHalt(callHash) (src/L1/DelayedVetoable.sol#144)\n\t\t- (success,returndata) = TARGET.call(msg.data) (src/L1/DelayedVetoable.sol#181)\n\tState variables written after the call(s):\n\t- _queuedAt[callHash] = block.timestamp (src/L1/DelayedVetoable.sol#146)\n\tDelayedVetoable._queuedAt (src/L1/DelayedVetoable.sol#55) can be used in cross function reentrancies:\n\t- DelayedVetoable._handleCall() (src/L1/DelayedVetoable.sol#127-175)\n\t- DelayedVetoable.queuedAt(bytes32) (src/L1/DelayedVetoable.sol#115-117)\n", "markdown": "Reentrancy in [DelayedVetoable._handleCall()](src/L1/DelayedVetoable.sol#L127-L175):\n\tExternal calls:\n\t- [_forwardAndHalt(callHash)](src/L1/DelayedVetoable.sol#L144)\n\t\t- [(success,returndata) = TARGET.call(msg.data)](src/L1/DelayedVetoable.sol#L181)\n\tState variables written after the call(s):\n\t- [_queuedAt[callHash] = block.timestamp](src/L1/DelayedVetoable.sol#L146)\n\t[DelayedVetoable._queuedAt](src/L1/DelayedVetoable.sol#L55) can be used in cross function reentrancies:\n\t- [DelayedVetoable._handleCall()](src/L1/DelayedVetoable.sol#L127-L175)\n\t- [DelayedVetoable.queuedAt(bytes32)](src/L1/DelayedVetoable.sol#L115-L117)\n", "first_markdown_element": "src/L1/DelayedVetoable.sol#L127-L175", "id": "791771351f6ef5490cbea5fbd5fe374336617a83ad32ebe163690cdee25b4208", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "peel", "source_mapping": {"start": 1616, "length": 885, "filename_relative": "src/periphery/TransferOnion.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/periphery/TransferOnion.sol", "filename_short": "src/periphery/TransferOnion.sol", "is_dependency": false, "lines": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransferOnion", "source_mapping": {"start": 633, "length": 1870, "filename_relative": "src/periphery/TransferOnion.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/periphery/TransferOnion.sol", "filename_short": "src/periphery/TransferOnion.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], "starting_column": 1, "ending_column": 2}}, "signature": "peel(TransferOnion.Layer[])"}}, {"type": "node", "name": "TOKEN.safeTransferFrom(SENDER,layer.recipient,layer.amount)", "source_mapping": {"start": 2282, "length": 61, "filename_relative": "src/periphery/TransferOnion.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/periphery/TransferOnion.sol", "filename_short": "src/periphery/TransferOnion.sol", "is_dependency": false, "lines": [61], "starting_column": 13, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "peel", "source_mapping": {"start": 1616, "length": 885, "filename_relative": "src/periphery/TransferOnion.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/periphery/TransferOnion.sol", "filename_short": "src/periphery/TransferOnion.sol", "is_dependency": false, "lines": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransferOnion", "source_mapping": {"start": 633, "length": 1870, "filename_relative": "src/periphery/TransferOnion.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/periphery/TransferOnion.sol", "filename_short": "src/periphery/TransferOnion.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], "starting_column": 1, "ending_column": 2}}, "signature": "peel(TransferOnion.Layer[])"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "shell = tempShell", "source_mapping": {"start": 2477, "length": 17, "filename_relative": "src/periphery/TransferOnion.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/periphery/TransferOnion.sol", "filename_short": "src/periphery/TransferOnion.sol", "is_dependency": false, "lines": [69], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "peel", "source_mapping": {"start": 1616, "length": 885, "filename_relative": "src/periphery/TransferOnion.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/periphery/TransferOnion.sol", "filename_short": "src/periphery/TransferOnion.sol", "is_dependency": false, "lines": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "TransferOnion", "source_mapping": {"start": 633, "length": 1870, "filename_relative": "src/periphery/TransferOnion.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/periphery/TransferOnion.sol", "filename_short": "src/periphery/TransferOnion.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], "starting_column": 1, "ending_column": 2}}, "signature": "peel(TransferOnion.Layer[])"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "shell"}}], "description": "Reentrancy in TransferOnion.peel(TransferOnion.Layer[]) (src/periphery/TransferOnion.sol#44-70):\n\tExternal calls:\n\t- TOKEN.safeTransferFrom(SENDER,layer.recipient,layer.amount) (src/periphery/TransferOnion.sol#61)\n\tState variables written after the call(s):\n\t- shell = tempShell (src/periphery/TransferOnion.sol#69)\n\tTransferOnion.shell (src/periphery/TransferOnion.sol#30) can be used in cross function reentrancies:\n\t- TransferOnion.constructor(ERC20,address,bytes32) (src/periphery/TransferOnion.sol#36-40)\n\t- TransferOnion.shell (src/periphery/TransferOnion.sol#30)\n", "markdown": "Reentrancy in [TransferOnion.peel(TransferOnion.Layer[])](src/periphery/TransferOnion.sol#L44-L70):\n\tExternal calls:\n\t- [TOKEN.safeTransferFrom(SENDER,layer.recipient,layer.amount)](src/periphery/TransferOnion.sol#L61)\n\tState variables written after the call(s):\n\t- [shell = tempShell](src/periphery/TransferOnion.sol#L69)\n\t[TransferOnion.shell](src/periphery/TransferOnion.sol#L30) can be used in cross function reentrancies:\n\t- [TransferOnion.constructor(ERC20,address,bytes32)](src/periphery/TransferOnion.sol#L36-L40)\n\t- [TransferOnion.shell](src/periphery/TransferOnion.sol#L30)\n", "first_markdown_element": "src/periphery/TransferOnion.sol#L44-L70", "id": "1349b68c3b08ecdf27782bd74d9fecadf1739eef738171cbbba403c77a29f424", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "step", "source_mapping": {"start": 4978, "length": 4228, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "step(uint256,bool,bytes,bytes)"}}, {"type": "node", "name": "validStep = VM.step(_stateData,_proof,uuid.raw()) == postState.claim.raw()", "source_mapping": {"start": 8758, "length": 81, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [184], "starting_column": 9, "ending_column": 90}, "type_specific_fields": {"parent": {"type": "function", "name": "step", "source_mapping": {"start": 4978, "length": 4228, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "step(uint256,bool,bytes,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "parent.counteredBy = msg.sender", "source_mapping": {"start": 9168, "length": 31, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [190], "starting_column": 9, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "step", "source_mapping": {"start": 4978, "length": 4228, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "step(uint256,bool,bytes,bytes)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "claimData"}}], "description": "Reentrancy in FaultDisputeGame.step(uint256,bool,bytes,bytes) (src/dispute/FaultDisputeGame.sol#124-191):\n\tExternal calls:\n\t- validStep = VM.step(_stateData,_proof,uuid.raw()) == postState.claim.raw() (src/dispute/FaultDisputeGame.sol#184)\n\tState variables written after the call(s):\n\t- parent.counteredBy = msg.sender (src/dispute/FaultDisputeGame.sol#190)\n\tFaultDisputeGame.claimData (src/dispute/FaultDisputeGame.sol#66) can be used in cross function reentrancies:\n\t- FaultDisputeGame._findStartingAndDisputedOutputs(uint256) (src/dispute/FaultDisputeGame.sol#672-731)\n\t- FaultDisputeGame._findTraceAncestor(Position,uint256,bool) (src/dispute/FaultDisputeGame.sol#645-663)\n\t- FaultDisputeGame.claimData (src/dispute/FaultDisputeGame.sol#66)\n\t- FaultDisputeGame.claimDataLen() (src/dispute/FaultDisputeGame.sol#520-522)\n\t- FaultDisputeGame.initialize() (src/dispute/FaultDisputeGame.sol#464-517)\n\t- FaultDisputeGame.move(uint256,Claim,bool) (src/dispute/FaultDisputeGame.sol#197-286)\n\t- FaultDisputeGame.resolve() (src/dispute/FaultDisputeGame.sol#351-363)\n\t- FaultDisputeGame.resolveClaim(uint256) (src/dispute/FaultDisputeGame.sol#366-438)\n\t- FaultDisputeGame.step(uint256,bool,bytes,bytes) (src/dispute/FaultDisputeGame.sol#124-191)\n", "markdown": "Reentrancy in [FaultDisputeGame.step(uint256,bool,bytes,bytes)](src/dispute/FaultDisputeGame.sol#L124-L191):\n\tExternal calls:\n\t- [validStep = VM.step(_stateData,_proof,uuid.raw()) == postState.claim.raw()](src/dispute/FaultDisputeGame.sol#L184)\n\tState variables written after the call(s):\n\t- [parent.counteredBy = msg.sender](src/dispute/FaultDisputeGame.sol#L190)\n\t[FaultDisputeGame.claimData](src/dispute/FaultDisputeGame.sol#L66) can be used in cross function reentrancies:\n\t- [FaultDisputeGame._findStartingAndDisputedOutputs(uint256)](src/dispute/FaultDisputeGame.sol#L672-L731)\n\t- [FaultDisputeGame._findTraceAncestor(Position,uint256,bool)](src/dispute/FaultDisputeGame.sol#L645-L663)\n\t- [FaultDisputeGame.claimData](src/dispute/FaultDisputeGame.sol#L66)\n\t- [FaultDisputeGame.claimDataLen()](src/dispute/FaultDisputeGame.sol#L520-L522)\n\t- [FaultDisputeGame.initialize()](src/dispute/FaultDisputeGame.sol#L464-L517)\n\t- [FaultDisputeGame.move(uint256,Claim,bool)](src/dispute/FaultDisputeGame.sol#L197-L286)\n\t- [FaultDisputeGame.resolve()](src/dispute/FaultDisputeGame.sol#L351-L363)\n\t- [FaultDisputeGame.resolveClaim(uint256)](src/dispute/FaultDisputeGame.sol#L366-L438)\n\t- [FaultDisputeGame.step(uint256,bool,bytes,bytes)](src/dispute/FaultDisputeGame.sol#L124-L191)\n", "first_markdown_element": "src/dispute/FaultDisputeGame.sol#L124-L191", "id": "a31cc22ac44058d56b0a89d6a2ab1dbe6791d75f6d06397eebf72a6d932e82c2", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "relayMessage", "source_mapping": {"start": 10315, "length": 5066, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CrossDomainMessenger", "source_mapping": {"start": 3683, "length": 17490, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406], "starting_column": 1, "ending_column": 2}}, "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)"}}, {"type": "node", "name": "tx.origin == Constants.ESTIMATION_ADDRESS", "source_mapping": {"start": 13912, "length": 41, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [275], "starting_column": 17, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "relayMessage", "source_mapping": {"start": 10315, "length": 5066, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CrossDomainMessenger", "source_mapping": {"start": 3683, "length": 17490, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406], "starting_column": 1, "ending_column": 2}}, "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)"}}}}], "description": "CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (src/universal/CrossDomainMessenger.sol#207-305) uses tx.origin for authorization: tx.origin == Constants.ESTIMATION_ADDRESS (src/universal/CrossDomainMessenger.sol#275)\n", "markdown": "[CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)](src/universal/CrossDomainMessenger.sol#L207-L305) uses tx.origin for authorization: [tx.origin == Constants.ESTIMATION_ADDRESS](src/universal/CrossDomainMessenger.sol#L275)\n", "first_markdown_element": "src/universal/CrossDomainMessenger.sol#L207-L305", "id": "baf2bfa9777021d9e36870b76a1020c950de67bbf00d486f604cc72d36c47839", "check": "tx-origin", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "relayMessage", "source_mapping": {"start": 10315, "length": 5066, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CrossDomainMessenger", "source_mapping": {"start": 3683, "length": 17490, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406], "starting_column": 1, "ending_column": 2}}, "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)"}}, {"type": "node", "name": "tx.origin == Constants.ESTIMATION_ADDRESS", "source_mapping": {"start": 15234, "length": 41, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [301], "starting_column": 17, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "relayMessage", "source_mapping": {"start": 10315, "length": 5066, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CrossDomainMessenger", "source_mapping": {"start": 3683, "length": 17490, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406], "starting_column": 1, "ending_column": 2}}, "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)"}}}}], "description": "CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (src/universal/CrossDomainMessenger.sol#207-305) uses tx.origin for authorization: tx.origin == Constants.ESTIMATION_ADDRESS (src/universal/CrossDomainMessenger.sol#301)\n", "markdown": "[CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)](src/universal/CrossDomainMessenger.sol#L207-L305) uses tx.origin for authorization: [tx.origin == Constants.ESTIMATION_ADDRESS](src/universal/CrossDomainMessenger.sol#L301)\n", "first_markdown_element": "src/universal/CrossDomainMessenger.sol#L207-L305", "id": "3702aae0a8031af92233fa312a75b60518153a9f80ad2e6157debb825eec5ba1", "check": "tx-origin", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 13252, "length": 4839, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.sol", "is_dependency": false, "lines": [280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal", "source_mapping": {"start": 1199, "length": 20505, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.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, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}, {"type": "node", "name": "success == false && tx.origin == Constants.ESTIMATION_ADDRESS", "source_mapping": {"start": 17954, "length": 61, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.sol", "is_dependency": false, "lines": [360], "starting_column": 13, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 13252, "length": 4839, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.sol", "is_dependency": false, "lines": [280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal", "source_mapping": {"start": 1199, "length": 20505, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.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, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}], "description": "OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (src/L1/OptimismPortal.sol#280-363) uses tx.origin for authorization: success == false && tx.origin == Constants.ESTIMATION_ADDRESS (src/L1/OptimismPortal.sol#360)\n", "markdown": "[OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction)](src/L1/OptimismPortal.sol#L280-L363) uses tx.origin for authorization: [success == false && tx.origin == Constants.ESTIMATION_ADDRESS](src/L1/OptimismPortal.sol#L360)\n", "first_markdown_element": "src/L1/OptimismPortal.sol#L280-L363", "id": "b507540468fdf3f9972d33e723efb8c120f8d824ffe54842e1e998244944abaf", "check": "tx-origin", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 14716, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}, {"type": "node", "name": "! success && tx.origin == Constants.ESTIMATION_ADDRESS", "source_mapping": {"start": 16916, "length": 53, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [347], "starting_column": 13, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 14716, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}], "description": "OptimismPortal2.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (src/L1/OptimismPortal2.sol#308-350) uses tx.origin for authorization: ! success && tx.origin == Constants.ESTIMATION_ADDRESS (src/L1/OptimismPortal2.sol#347)\n", "markdown": "[OptimismPortal2.finalizeWithdrawalTransaction(Types.WithdrawalTransaction)](src/L1/OptimismPortal2.sol#L308-L350) uses tx.origin for authorization: [! success && tx.origin == Constants.ESTIMATION_ADDRESS](src/L1/OptimismPortal2.sol#L347)\n", "first_markdown_element": "src/L1/OptimismPortal2.sol#L308-L350", "id": "7f4e534ab54f269b764a28db827d0820f938651b430bf72145e81408c8d77ef3", "check": "tx-origin", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "grandparentClock", "source_mapping": {"start": 11860, "length": 22, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [235], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "move", "source_mapping": {"start": 9517, "length": 4693, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "move(uint256,Claim,bool)"}}}}], "description": "FaultDisputeGame.move(uint256,Claim,bool).grandparentClock (src/dispute/FaultDisputeGame.sol#235) is a local variable never initialized\n", "markdown": "[FaultDisputeGame.move(uint256,Claim,bool).grandparentClock](src/dispute/FaultDisputeGame.sol#L235) is a local variable never initialized\n", "first_markdown_element": "src/dispute/FaultDisputeGame.sol#L235", "id": "0369380fef18a61639eac6a12773df792e9969e7bb20eddde54ccf3a263a0987", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "currentDepth", "source_mapping": {"start": 33339, "length": 20, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [690], "starting_column": 9, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "function", "name": "_findStartingAndDisputedOutputs", "source_mapping": {"start": 32477, "length": 3446, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "_findStartingAndDisputedOutputs(uint256)"}}}}], "description": "FaultDisputeGame._findStartingAndDisputedOutputs(uint256).currentDepth (src/dispute/FaultDisputeGame.sol#690) is a local variable never initialized\n", "markdown": "[FaultDisputeGame._findStartingAndDisputedOutputs(uint256).currentDepth](src/dispute/FaultDisputeGame.sol#L690) is a local variable never initialized\n", "first_markdown_element": "src/dispute/FaultDisputeGame.sol#L690", "id": "8c229f5475784b2e9526e30d55b066e479489bca4b07c4f062b42b5b70100794", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "relayMessage", "source_mapping": {"start": 10315, "length": 5066, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CrossDomainMessenger", "source_mapping": {"start": 3683, "length": 17490, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406], "starting_column": 1, "ending_column": 2}}, "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)"}}, {"type": "node", "name": "(version) = Encoding.decodeVersionedNonce(_nonce)", "source_mapping": {"start": 10787, "length": 58, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [222], "starting_column": 9, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "relayMessage", "source_mapping": {"start": 10315, "length": 5066, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CrossDomainMessenger", "source_mapping": {"start": 3683, "length": 17490, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406], "starting_column": 1, "ending_column": 2}}, "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)"}}}}], "description": "CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (src/universal/CrossDomainMessenger.sol#207-305) ignores return value by (version) = Encoding.decodeVersionedNonce(_nonce) (src/universal/CrossDomainMessenger.sol#222)\n", "markdown": "[CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)](src/universal/CrossDomainMessenger.sol#L207-L305) ignores return value by [(version) = Encoding.decodeVersionedNonce(_nonce)](src/universal/CrossDomainMessenger.sol#L222)\n", "first_markdown_element": "src/universal/CrossDomainMessenger.sol#L207-L305", "id": "44386f359246ae057885fdfb55bd224c93990000eb00c0f8a95364098f76f95e", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "proveWithdrawalTransaction", "source_mapping": {"start": 10692, "length": 3911, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476], "starting_column": 1, "ending_column": 2}}, "signature": "proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])"}}, {"type": "node", "name": "(gameType,gameProxy) = disputeGameFactory.gameAtIndex(_disputeGameIndex)", "source_mapping": {"start": 11391, "length": 96, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [247], "starting_column": 9, "ending_column": 105}, "type_specific_fields": {"parent": {"type": "function", "name": "proveWithdrawalTransaction", "source_mapping": {"start": 10692, "length": 3911, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476], "starting_column": 1, "ending_column": 2}}, "signature": "proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])"}}}}], "description": "OptimismPortal2.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[]) (src/L1/OptimismPortal2.sol#232-304) ignores return value by (gameType,gameProxy) = disputeGameFactory.gameAtIndex(_disputeGameIndex) (src/L1/OptimismPortal2.sol#247)\n", "markdown": "[OptimismPortal2.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])](src/L1/OptimismPortal2.sol#L232-L304) ignores return value by [(gameType,gameProxy) = disputeGameFactory.gameAtIndex(_disputeGameIndex)](src/L1/OptimismPortal2.sol#L247)\n", "first_markdown_element": "src/L1/OptimismPortal2.sol#L232-L304", "id": "8830f3dfb5472dfaf7954fb2e77efcce01faa75aece2e030343e61548e8935e0", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "checkTransaction", "source_mapping": {"start": 3201, "length": 1635, "filename_relative": "src/Safe/LivenessGuard.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/Safe/LivenessGuard.sol", "filename_short": "src/Safe/LivenessGuard.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LivenessGuard", "source_mapping": {"start": 1239, "length": 5732, "filename_relative": "src/Safe/LivenessGuard.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/Safe/LivenessGuard.sol", "filename_short": "src/Safe/LivenessGuard.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 1, "ending_column": 2}}, "signature": "checkTransaction(address,uint256,bytes,Enum.Operation,uint256,uint256,uint256,address,address,bytes,address)"}}, {"type": "node", "name": "ownersBefore.add(owners[i])", "source_mapping": {"start": 3884, "length": 27, "filename_relative": "src/Safe/LivenessGuard.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/Safe/LivenessGuard.sol", "filename_short": "src/Safe/LivenessGuard.sol", "is_dependency": false, "lines": [91], "starting_column": 13, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "checkTransaction", "source_mapping": {"start": 3201, "length": 1635, "filename_relative": "src/Safe/LivenessGuard.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/Safe/LivenessGuard.sol", "filename_short": "src/Safe/LivenessGuard.sol", "is_dependency": false, "lines": [69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LivenessGuard", "source_mapping": {"start": 1239, "length": 5732, "filename_relative": "src/Safe/LivenessGuard.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/Safe/LivenessGuard.sol", "filename_short": "src/Safe/LivenessGuard.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 1, "ending_column": 2}}, "signature": "checkTransaction(address,uint256,bytes,Enum.Operation,uint256,uint256,uint256,address,address,bytes,address)"}}}}], "description": "LivenessGuard.checkTransaction(address,uint256,bytes,Enum.Operation,uint256,uint256,uint256,address,address,bytes,address) (src/Safe/LivenessGuard.sol#69-117) ignores return value by ownersBefore.add(owners[i]) (src/Safe/LivenessGuard.sol#91)\n", "markdown": "[LivenessGuard.checkTransaction(address,uint256,bytes,Enum.Operation,uint256,uint256,uint256,address,address,bytes,address)](src/Safe/LivenessGuard.sol#L69-L117) ignores return value by [ownersBefore.add(owners[i])](src/Safe/LivenessGuard.sol#L91)\n", "first_markdown_element": "src/Safe/LivenessGuard.sol#L69-L117", "id": "e7db51bed73ec8725649e136aa53c89b47fb78f106a38ba5583f5f449c3df44c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "checkAfterExecution", "source_mapping": {"start": 5290, "length": 1252, "filename_relative": "src/Safe/LivenessGuard.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/Safe/LivenessGuard.sol", "filename_short": "src/Safe/LivenessGuard.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, 147, 148, 149], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LivenessGuard", "source_mapping": {"start": 1239, "length": 5732, "filename_relative": "src/Safe/LivenessGuard.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/Safe/LivenessGuard.sol", "filename_short": "src/Safe/LivenessGuard.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 1, "ending_column": 2}}, "signature": "checkAfterExecution(bytes32,bool)"}}, {"type": "node", "name": "ownersBefore.remove(ownerBefore)", "source_mapping": {"start": 6493, "length": 32, "filename_relative": "src/Safe/LivenessGuard.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/Safe/LivenessGuard.sol", "filename_short": "src/Safe/LivenessGuard.sol", "is_dependency": false, "lines": [147], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "checkAfterExecution", "source_mapping": {"start": 5290, "length": 1252, "filename_relative": "src/Safe/LivenessGuard.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/Safe/LivenessGuard.sol", "filename_short": "src/Safe/LivenessGuard.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, 147, 148, 149], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LivenessGuard", "source_mapping": {"start": 1239, "length": 5732, "filename_relative": "src/Safe/LivenessGuard.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/Safe/LivenessGuard.sol", "filename_short": "src/Safe/LivenessGuard.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159], "starting_column": 1, "ending_column": 2}}, "signature": "checkAfterExecution(bytes32,bool)"}}}}], "description": "LivenessGuard.checkAfterExecution(bytes32,bool) (src/Safe/LivenessGuard.sol#125-149) ignores return value by ownersBefore.remove(ownerBefore) (src/Safe/LivenessGuard.sol#147)\n", "markdown": "[LivenessGuard.checkAfterExecution(bytes32,bool)](src/Safe/LivenessGuard.sol#L125-L149) ignores return value by [ownersBefore.remove(ownerBefore)](src/Safe/LivenessGuard.sol#L147)\n", "first_markdown_element": "src/Safe/LivenessGuard.sol#L125-L149", "id": "a6b6c14f97b8f53fd719fe31b201e7e3ecd9e1e96588f3169f9b04eb60d2877d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "games", "source_mapping": {"start": 2565, "length": 342, "filename_relative": "src/dispute/DisputeGameFactory.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/DisputeGameFactory.sol", "filename_short": "src/dispute/DisputeGameFactory.sol", "is_dependency": false, "lines": [64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DisputeGameFactory", "source_mapping": {"start": 1032, "length": 6436, "filename_relative": "src/dispute/DisputeGameFactory.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/DisputeGameFactory.sol", "filename_short": "src/dispute/DisputeGameFactory.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 1, "ending_column": 2}}, "signature": "games(GameType,Claim,bytes)"}}, {"type": "node", "name": "(None,timestamp_,proxy_) = _disputeGames[uuid].unpack()", "source_mapping": {"start": 2847, "length": 53, "filename_relative": "src/dispute/DisputeGameFactory.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/DisputeGameFactory.sol", "filename_short": "src/dispute/DisputeGameFactory.sol", "is_dependency": false, "lines": [74], "starting_column": 9, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "games", "source_mapping": {"start": 2565, "length": 342, "filename_relative": "src/dispute/DisputeGameFactory.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/DisputeGameFactory.sol", "filename_short": "src/dispute/DisputeGameFactory.sol", "is_dependency": false, "lines": [64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DisputeGameFactory", "source_mapping": {"start": 1032, "length": 6436, "filename_relative": "src/dispute/DisputeGameFactory.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/DisputeGameFactory.sol", "filename_short": "src/dispute/DisputeGameFactory.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198], "starting_column": 1, "ending_column": 2}}, "signature": "games(GameType,Claim,bytes)"}}}}], "description": "DisputeGameFactory.games(GameType,Claim,bytes) (src/dispute/DisputeGameFactory.sol#64-75) ignores return value by (None,timestamp_,proxy_) = _disputeGames[uuid].unpack() (src/dispute/DisputeGameFactory.sol#74)\n", "markdown": "[DisputeGameFactory.games(GameType,Claim,bytes)](src/dispute/DisputeGameFactory.sol#L64-L75) ignores return value by [(None,timestamp_,proxy_) = _disputeGames[uuid].unpack()](src/dispute/DisputeGameFactory.sol#L74)\n", "first_markdown_element": "src/dispute/DisputeGameFactory.sol#L64-L75", "id": "004aeb9cde0c34281efe12ecba9cf191a562c14d4840e4037cdfc3de62ace754", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addLocalData", "source_mapping": {"start": 14579, "length": 2158, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "addLocalData(uint256,uint256,uint256)"}}, {"type": "node", "name": "oracle.loadLocalData(_ident,uuid.raw(),l1Head.raw(),32,_partOffset)", "source_mapping": {"start": 15220, "length": 71, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [310], "starting_column": 13, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "addLocalData", "source_mapping": {"start": 14579, "length": 2158, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "addLocalData(uint256,uint256,uint256)"}}}}], "description": "FaultDisputeGame.addLocalData(uint256,uint256,uint256) (src/dispute/FaultDisputeGame.sol#299-334) ignores return value by oracle.loadLocalData(_ident,uuid.raw(),l1Head.raw(),32,_partOffset) (src/dispute/FaultDisputeGame.sol#310)\n", "markdown": "[FaultDisputeGame.addLocalData(uint256,uint256,uint256)](src/dispute/FaultDisputeGame.sol#L299-L334) ignores return value by [oracle.loadLocalData(_ident,uuid.raw(),l1Head.raw(),32,_partOffset)](src/dispute/FaultDisputeGame.sol#L310)\n", "first_markdown_element": "src/dispute/FaultDisputeGame.sol#L299-L334", "id": "763bb639fb65a7cbbf328c3f8ca871f83d4fec7f6158eac30b24a2930427b3a8", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addLocalData", "source_mapping": {"start": 14579, "length": 2158, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "addLocalData(uint256,uint256,uint256)"}}, {"type": "node", "name": "oracle.loadLocalData(_ident,uuid.raw(),starting.raw(),32,_partOffset)", "source_mapping": {"start": 15432, "length": 73, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [313], "starting_column": 13, "ending_column": 86}, "type_specific_fields": {"parent": {"type": "function", "name": "addLocalData", "source_mapping": {"start": 14579, "length": 2158, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "addLocalData(uint256,uint256,uint256)"}}}}], "description": "FaultDisputeGame.addLocalData(uint256,uint256,uint256) (src/dispute/FaultDisputeGame.sol#299-334) ignores return value by oracle.loadLocalData(_ident,uuid.raw(),starting.raw(),32,_partOffset) (src/dispute/FaultDisputeGame.sol#313)\n", "markdown": "[FaultDisputeGame.addLocalData(uint256,uint256,uint256)](src/dispute/FaultDisputeGame.sol#L299-L334) ignores return value by [oracle.loadLocalData(_ident,uuid.raw(),starting.raw(),32,_partOffset)](src/dispute/FaultDisputeGame.sol#L313)\n", "first_markdown_element": "src/dispute/FaultDisputeGame.sol#L299-L334", "id": "db2c2eb34d10413c40fe2188f165de643843dd37f48449b9a8619c35c22f0279", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addLocalData", "source_mapping": {"start": 14579, "length": 2158, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "addLocalData(uint256,uint256,uint256)"}}, {"type": "node", "name": "oracle.loadLocalData(_ident,uuid.raw(),disputed.raw(),32,_partOffset)", "source_mapping": {"start": 15645, "length": 73, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [316], "starting_column": 13, "ending_column": 86}, "type_specific_fields": {"parent": {"type": "function", "name": "addLocalData", "source_mapping": {"start": 14579, "length": 2158, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "addLocalData(uint256,uint256,uint256)"}}}}], "description": "FaultDisputeGame.addLocalData(uint256,uint256,uint256) (src/dispute/FaultDisputeGame.sol#299-334) ignores return value by oracle.loadLocalData(_ident,uuid.raw(),disputed.raw(),32,_partOffset) (src/dispute/FaultDisputeGame.sol#316)\n", "markdown": "[FaultDisputeGame.addLocalData(uint256,uint256,uint256)](src/dispute/FaultDisputeGame.sol#L299-L334) ignores return value by [oracle.loadLocalData(_ident,uuid.raw(),disputed.raw(),32,_partOffset)](src/dispute/FaultDisputeGame.sol#L316)\n", "first_markdown_element": "src/dispute/FaultDisputeGame.sol#L299-L334", "id": "9702aa60c8832889631f0b6de7d749a701854dfdcf73ceef0bace811c65aba71", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addLocalData", "source_mapping": {"start": 14579, "length": 2158, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "addLocalData(uint256,uint256,uint256)"}}, {"type": "node", "name": "oracle.loadLocalData(_ident,uuid.raw(),bytes32(l2Number << 0xC0),8,_partOffset)", "source_mapping": {"start": 16325, "length": 83, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [327], "starting_column": 13, "ending_column": 96}, "type_specific_fields": {"parent": {"type": "function", "name": "addLocalData", "source_mapping": {"start": 14579, "length": 2158, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "addLocalData(uint256,uint256,uint256)"}}}}], "description": "FaultDisputeGame.addLocalData(uint256,uint256,uint256) (src/dispute/FaultDisputeGame.sol#299-334) ignores return value by oracle.loadLocalData(_ident,uuid.raw(),bytes32(l2Number << 0xC0),8,_partOffset) (src/dispute/FaultDisputeGame.sol#327)\n", "markdown": "[FaultDisputeGame.addLocalData(uint256,uint256,uint256)](src/dispute/FaultDisputeGame.sol#L299-L334) ignores return value by [oracle.loadLocalData(_ident,uuid.raw(),bytes32(l2Number << 0xC0),8,_partOffset)](src/dispute/FaultDisputeGame.sol#L327)\n", "first_markdown_element": "src/dispute/FaultDisputeGame.sol#L299-L334", "id": "ee245b77a502d8e82346325fe49d61108d0bd0ec1604ddcce2fe98109e008cbb", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "addLocalData", "source_mapping": {"start": 14579, "length": 2158, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "addLocalData(uint256,uint256,uint256)"}}, {"type": "node", "name": "oracle.loadLocalData(_ident,uuid.raw(),bytes32(block.chainid << 0xC0),8,_partOffset)", "source_mapping": {"start": 16575, "length": 88, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [330], "starting_column": 13, "ending_column": 101}, "type_specific_fields": {"parent": {"type": "function", "name": "addLocalData", "source_mapping": {"start": 14579, "length": 2158, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FaultDisputeGame", "source_mapping": {"start": 762, "length": 36758, "filename_relative": "src/dispute/FaultDisputeGame.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol", "filename_short": "src/dispute/FaultDisputeGame.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766], "starting_column": 1, "ending_column": 2}}, "signature": "addLocalData(uint256,uint256,uint256)"}}}}], "description": "FaultDisputeGame.addLocalData(uint256,uint256,uint256) (src/dispute/FaultDisputeGame.sol#299-334) ignores return value by oracle.loadLocalData(_ident,uuid.raw(),bytes32(block.chainid << 0xC0),8,_partOffset) (src/dispute/FaultDisputeGame.sol#330)\n", "markdown": "[FaultDisputeGame.addLocalData(uint256,uint256,uint256)](src/dispute/FaultDisputeGame.sol#L299-L334) ignores return value by [oracle.loadLocalData(_ident,uuid.raw(),bytes32(block.chainid << 0xC0),8,_partOffset)](src/dispute/FaultDisputeGame.sol#L330)\n", "first_markdown_element": "src/dispute/FaultDisputeGame.sol#L299-L334", "id": "73fe3972601cc6ea4ff24d94e8df972b992343d997e305b892512f0fe2853f5e", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "hashCrossDomainMessage", "source_mapping": {"start": 2094, "length": 660, "filename_relative": "src/libraries/Hashing.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/libraries/Hashing.sol", "filename_short": "src/libraries/Hashing.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Hashing", "source_mapping": {"start": 255, "length": 5092, "filename_relative": "src/libraries/Hashing.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/libraries/Hashing.sol", "filename_short": "src/libraries/Hashing.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "starting_column": 1, "ending_column": 2}}, "signature": "hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)"}}, {"type": "node", "name": "(version) = Encoding.decodeVersionedNonce(_nonce)", "source_mapping": {"start": 2355, "length": 58, "filename_relative": "src/libraries/Hashing.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/libraries/Hashing.sol", "filename_short": "src/libraries/Hashing.sol", "is_dependency": false, "lines": [51], "starting_column": 9, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "hashCrossDomainMessage", "source_mapping": {"start": 2094, "length": 660, "filename_relative": "src/libraries/Hashing.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/libraries/Hashing.sol", "filename_short": "src/libraries/Hashing.sol", "is_dependency": false, "lines": [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Hashing", "source_mapping": {"start": 255, "length": 5092, "filename_relative": "src/libraries/Hashing.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/libraries/Hashing.sol", "filename_short": "src/libraries/Hashing.sol", "is_dependency": false, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "starting_column": 1, "ending_column": 2}}, "signature": "hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)"}}}}], "description": "Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes) (src/libraries/Hashing.sol#39-59) ignores return value by (version) = Encoding.decodeVersionedNonce(_nonce) (src/libraries/Hashing.sol#51)\n", "markdown": "[Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)](src/libraries/Hashing.sol#L39-L59) ignores return value by [(version) = Encoding.decodeVersionedNonce(_nonce)](src/libraries/Hashing.sol#L51)\n", "first_markdown_element": "src/libraries/Hashing.sol#L39-L59", "id": "1c9189427ab6b52bbec781d0432aed1a62fbec3ef51df7b307691cc1281675ef", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "upgradeAndCall", "source_mapping": {"start": 8644, "length": 631, "filename_relative": "src/universal/ProxyAdmin.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/ProxyAdmin.sol", "filename_short": "src/universal/ProxyAdmin.sol", "is_dependency": false, "lines": [184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 1241, "length": 8036, "filename_relative": "src/universal/ProxyAdmin.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/ProxyAdmin.sol", "filename_short": "src/universal/ProxyAdmin.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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeAndCall(address,address,bytes)"}}, {"type": "node", "name": "Proxy(_proxy).upgradeToAndCall{value: msg.value}(_implementation,_data)", "source_mapping": {"start": 8923, "length": 74, "filename_relative": "src/universal/ProxyAdmin.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/ProxyAdmin.sol", "filename_short": "src/universal/ProxyAdmin.sol", "is_dependency": false, "lines": [195], "starting_column": 13, "ending_column": 87}, "type_specific_fields": {"parent": {"type": "function", "name": "upgradeAndCall", "source_mapping": {"start": 8644, "length": 631, "filename_relative": "src/universal/ProxyAdmin.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/ProxyAdmin.sol", "filename_short": "src/universal/ProxyAdmin.sol", "is_dependency": false, "lines": [184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ProxyAdmin", "source_mapping": {"start": 1241, "length": 8036, "filename_relative": "src/universal/ProxyAdmin.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/ProxyAdmin.sol", "filename_short": "src/universal/ProxyAdmin.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], "starting_column": 1, "ending_column": 2}}, "signature": "upgradeAndCall(address,address,bytes)"}}}}], "description": "ProxyAdmin.upgradeAndCall(address,address,bytes) (src/universal/ProxyAdmin.sol#184-202) ignores return value by Proxy(_proxy).upgradeToAndCall{value: msg.value}(_implementation,_data) (src/universal/ProxyAdmin.sol#195)\n", "markdown": "[ProxyAdmin.upgradeAndCall(address,address,bytes)](src/universal/ProxyAdmin.sol#L184-L202) ignores return value by [Proxy(_proxy).upgradeToAndCall{value: msg.value}(_implementation,_data)](src/universal/ProxyAdmin.sol#L195)\n", "first_markdown_element": "src/universal/ProxyAdmin.sol#L184-L202", "id": "81d1f7dc411a9897d1685d2a83e4ef7d0913f0beeec0756a1e90039e750ef319", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "xDomainMsgSender", "source_mapping": {"start": 5649, "length": 33, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [126], "starting_column": 5, "ending_column": 38}, "type_specific_fields": {"parent": {"type": "contract", "name": "CrossDomainMessenger", "source_mapping": {"start": 3683, "length": 17490, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406], "starting_column": 1, "ending_column": 2}}}}, {"type": "node", "name": "xDomainMsgSender = _sender", "source_mapping": {"start": 14084, "length": 26, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [282], "starting_column": 9, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "relayMessage", "source_mapping": {"start": 10315, "length": 5066, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CrossDomainMessenger", "source_mapping": {"start": 3683, "length": 17490, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406], "starting_column": 1, "ending_column": 2}}, "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)"}}}}, {"type": "node", "name": "xDomainMsgSender = Constants.DEFAULT_L2_SENDER", "source_mapping": {"start": 14217, "length": 46, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [284], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "relayMessage", "source_mapping": {"start": 10315, "length": 5066, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CrossDomainMessenger", "source_mapping": {"start": 3683, "length": 17490, "filename_relative": "src/universal/CrossDomainMessenger.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/universal/CrossDomainMessenger.sol", "filename_short": "src/universal/CrossDomainMessenger.sol", "is_dependency": false, "lines": [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406], "starting_column": 1, "ending_column": 2}}, "signature": "relayMessage(uint256,address,address,uint256,uint256,bytes)"}}}}], "description": "CrossDomainMessenger.xDomainMsgSender (src/universal/CrossDomainMessenger.sol#126) is written in both\n\txDomainMsgSender = _sender (src/universal/CrossDomainMessenger.sol#282)\n\txDomainMsgSender = Constants.DEFAULT_L2_SENDER (src/universal/CrossDomainMessenger.sol#284)\n", "markdown": "[CrossDomainMessenger.xDomainMsgSender](src/universal/CrossDomainMessenger.sol#L126) is written in both\n\t[xDomainMsgSender = _sender](src/universal/CrossDomainMessenger.sol#L282)\n\t[xDomainMsgSender = Constants.DEFAULT_L2_SENDER](src/universal/CrossDomainMessenger.sol#L284)\n", "first_markdown_element": "src/universal/CrossDomainMessenger.sol#L126", "id": "858b95108475bbb08343b6f5701b03c0762d00b73cec53751173e93c3ec10c1a", "check": "write-after-write", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "l2Sender", "source_mapping": {"start": 2193, "length": 23, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.sol", "is_dependency": false, "lines": [43], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal", "source_mapping": {"start": 1199, "length": 20505, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.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, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433], "starting_column": 1, "ending_column": 2}}}}, {"type": "node", "name": "l2Sender = _tx.sender", "source_mapping": {"start": 16655, "length": 21, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.sol", "is_dependency": false, "lines": [339], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 13252, "length": 4839, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.sol", "is_dependency": false, "lines": [280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal", "source_mapping": {"start": 1199, "length": 20505, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.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, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}, {"type": "node", "name": "l2Sender = Constants.DEFAULT_L2_SENDER", "source_mapping": {"start": 17449, "length": 38, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.sol", "is_dependency": false, "lines": [351], "starting_column": 9, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 13252, "length": 4839, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.sol", "is_dependency": false, "lines": [280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal", "source_mapping": {"start": 1199, "length": 20505, "filename_relative": "src/L1/OptimismPortal.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal.sol", "filename_short": "src/L1/OptimismPortal.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, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}], "description": "OptimismPortal.l2Sender (src/L1/OptimismPortal.sol#43) is written in both\n\tl2Sender = _tx.sender (src/L1/OptimismPortal.sol#339)\n\tl2Sender = Constants.DEFAULT_L2_SENDER (src/L1/OptimismPortal.sol#351)\n", "markdown": "[OptimismPortal.l2Sender](src/L1/OptimismPortal.sol#L43) is written in both\n\t[l2Sender = _tx.sender](src/L1/OptimismPortal.sol#L339)\n\t[l2Sender = Constants.DEFAULT_L2_SENDER](src/L1/OptimismPortal.sol#L351)\n", "first_markdown_element": "src/L1/OptimismPortal.sol#L43", "id": "a43b8cff6d6b33609e8c7e3e89af17a0bc9ec73eb9a1a1b796e69c36ce8bcf71", "check": "write-after-write", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "variable", "name": "l2Sender", "source_mapping": {"start": 2796, "length": 23, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [54], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476], "starting_column": 1, "ending_column": 2}}}}, {"type": "node", "name": "l2Sender = _tx.sender", "source_mapping": {"start": 15617, "length": 21, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [326], "starting_column": 9, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 14716, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}, {"type": "node", "name": "l2Sender = Constants.DEFAULT_L2_SENDER", "source_mapping": {"start": 16411, "length": 38, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [338], "starting_column": 9, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeWithdrawalTransaction", "source_mapping": {"start": 14716, "length": 2329, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptimismPortal2", "source_mapping": {"start": 1269, "length": 22759, "filename_relative": "src/L1/OptimismPortal2.sol", "filename_absolute": "/Users/mds/Documents/projects/ethereum-optimism/optimism/packages/contracts-bedrock/src/L1/OptimismPortal2.sol", "filename_short": "src/L1/OptimismPortal2.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeWithdrawalTransaction(Types.WithdrawalTransaction)"}}}}], "description": "OptimismPortal2.l2Sender (src/L1/OptimismPortal2.sol#54) is written in both\n\tl2Sender = _tx.sender (src/L1/OptimismPortal2.sol#326)\n\tl2Sender = Constants.DEFAULT_L2_SENDER (src/L1/OptimismPortal2.sol#338)\n", "markdown": "[OptimismPortal2.l2Sender](src/L1/OptimismPortal2.sol#L54) is written in both\n\t[l2Sender = _tx.sender](src/L1/OptimismPortal2.sol#L326)\n\t[l2Sender = Constants.DEFAULT_L2_SENDER](src/L1/OptimismPortal2.sol#L338)\n", "first_markdown_element": "src/L1/OptimismPortal2.sol#L54", "id": "39a1b02450892eee126102ad84facb2bd801987bf64fb0d092e7b428629fd203", "check": "write-after-write", "impact": "Medium", "confidence": "High"}]