From 44bad07c805cc66be81818c9b8e336edc0da48f0 Mon Sep 17 00:00:00 2001 From: Goran Vladika Date: Tue, 7 May 2024 18:06:38 +0200 Subject: [PATCH] Update slither db --- slither.db.json | 3144 +---------------------------------------------- 1 file changed, 1 insertion(+), 3143 deletions(-) diff --git a/slither.db.json b/slither.db.json index b1bf6c928..89fab8d77 100644 --- a/slither.db.json +++ b/slither.db.json @@ -1,3143 +1 @@ -[ - { - "elements": [ - { - "type": "node", - "name": "_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken)", - "source_mapping": { - "start": 14536, - "length": 53, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [341], - "starting_column": 9, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createTokenBridge", - "source_mapping": { - "start": 8206, - "length": 8378, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createTokenBridge(address,address,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken)", - "source_mapping": { - "start": 14536, - "length": 53, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [341], - "starting_column": 9, - "ending_column": 62 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createTokenBridge", - "source_mapping": { - "start": 8206, - "length": 8378, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createTokenBridge(address,address,uint256,uint256)" - } - } - } - } - ], - "description": "Multiple retryable tickets created in the same function:\n\t -_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#341)\n\t -_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#341)\n", - "markdown": "Multiple retryable tickets created in the same function:\n\t -[_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L341)\n\t -[_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L341)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L341", - "id": "a5e3feb7f2c59d43132c3ae5f4b1d458ebcc490d790a35328f9b5374e676bfac", - "check": "out-of-order-retryable", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "node", - "name": "_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data)", - "source_mapping": { - "start": 4464, - "length": 82, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [113], - "starting_column": 9, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_sendRetryableUsingEth", - "source_mapping": { - "start": 3088, - "length": 1814, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [ - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1TokenBridgeRetryableSender", - "source_mapping": { - "start": 1390, - "length": 5848, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address)" - } - } - } - }, - { - "type": "node", - "name": "_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data)", - "source_mapping": { - "start": 4464, - "length": 82, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [113], - "starting_column": 9, - "ending_column": 91 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_sendRetryableUsingEth", - "source_mapping": { - "start": 3088, - "length": 1814, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [ - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1TokenBridgeRetryableSender", - "source_mapping": { - "start": 1390, - "length": 5848, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address)" - } - } - } - } - ], - "description": "Multiple retryable tickets created in the same function:\n\t -_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#113)\n\t -_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#113)\n", - "markdown": "Multiple retryable tickets created in the same function:\n\t -[_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L113)\n\t -[_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L113)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L113", - "id": "17648cf433b86bf06bcab3f179d37fe19e73adff495e0e9485ce4b5d2d22a91b", - "check": "out-of-order-retryable", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "outboundEscrowTransfer", - "source_mapping": { - "start": 11053, - "length": 592, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "is_dependency": false, - "lines": [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": "L1ArbitrumGateway", - "source_mapping": { - "start": 1279, - "length": 14336, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "is_dependency": false, - "lines": [ - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, 403, 404 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "outboundEscrowTransfer(address,address,uint256)" - } - }, - { - "type": "node", - "name": "IERC20(_l1Token).safeTransferFrom(_from,address(this),_amount)", - "source_mapping": { - "start": 11459, - "length": 64, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "is_dependency": false, - "lines": [301], - "starting_column": 9, - "ending_column": 73 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "outboundEscrowTransfer", - "source_mapping": { - "start": 11053, - "length": 592, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "is_dependency": false, - "lines": [ - 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": "L1ArbitrumGateway", - "source_mapping": { - "start": 1279, - "length": 14336, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", - "is_dependency": false, - "lines": [ - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "outboundEscrowTransfer(address,address,uint256)" - } - } - } - } - ], - "description": "L1ArbitrumGateway.outboundEscrowTransfer(address,address,uint256) (contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol#293-304) uses arbitrary from in transferFrom: IERC20(_l1Token).safeTransferFrom(_from,address(this),_amount) (contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol#301)\n", - "markdown": "[L1ArbitrumGateway.outboundEscrowTransfer(address,address,uint256)](contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol#L293-L304) uses arbitrary from in transferFrom: [IERC20(_l1Token).safeTransferFrom(_from,address(this),_amount)](contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol#L301)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol#L293-L304", - "id": "7f2693a46b04c9b469a640c442acfb2aaa3e814506fef81efed08031db2d23bd", - "check": "arbitrary-send-erc20", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "inboundEscrowTransfer", - "source_mapping": { - "start": 2818, - "length": 266, - "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "is_dependency": false, - "lines": [80, 81, 82, 83, 84, 85, 86, 87], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L2WethGateway", - "source_mapping": { - "start": 864, - "length": 2787, - "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "is_dependency": false, - "lines": [ - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "inboundEscrowTransfer(address,address,uint256)" - } - }, - { - "type": "node", - "name": "IWETH9(_l2TokenAddress).deposit{value: _amount}()", - "source_mapping": { - "start": 2964, - "length": 51, - "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "is_dependency": false, - "lines": [85], - "starting_column": 9, - "ending_column": 60 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "inboundEscrowTransfer", - "source_mapping": { - "start": 2818, - "length": 266, - "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "is_dependency": false, - "lines": [80, 81, 82, 83, 84, 85, 86, 87], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L2WethGateway", - "source_mapping": { - "start": 864, - "length": 2787, - "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", - "is_dependency": false, - "lines": [ - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "inboundEscrowTransfer(address,address,uint256)" - } - } - } - } - ], - "description": "L2WethGateway.inboundEscrowTransfer(address,address,uint256) (contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol#80-87) sends eth to arbitrary user\n\tDangerous calls:\n\t- IWETH9(_l2TokenAddress).deposit{value: _amount}() (contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol#85)\n", - "markdown": "[L2WethGateway.inboundEscrowTransfer(address,address,uint256)](contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol#L80-L87) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IWETH9(_l2TokenAddress).deposit{value: _amount}()](contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol#L85)\n", - "first_markdown_element": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol#L80-L87", - "id": "e2c734fd5c5ec43d4faaa9a093395e2556c3b429c34215a26107de1a4271f405", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "createTokenBridge", - "source_mapping": { - "start": 8206, - "length": 8378, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createTokenBridge(address,address,uint256,uint256)" - } - }, - { - "type": "node", - "name": "retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)", - "source_mapping": { - "start": 15324, - "length": 887, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createTokenBridge", - "source_mapping": { - "start": 8206, - "length": 8378, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createTokenBridge(address,address,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)", - "source_mapping": { - "start": 15324, - "length": 887, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createTokenBridge", - "source_mapping": { - "start": 8206, - "length": 8378, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createTokenBridge(address,address,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)", - "source_mapping": { - "start": 15324, - "length": 887, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createTokenBridge", - "source_mapping": { - "start": 8206, - "length": 8378, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createTokenBridge(address,address,uint256,uint256)" - } - } - } - }, - { - "type": "node", - "name": "retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)", - "source_mapping": { - "start": 15324, - "length": 887, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381 - ], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createTokenBridge", - "source_mapping": { - "start": 8206, - "length": 8378, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createTokenBridge(address,address,uint256,uint256)" - } - } - } - } - ], - "description": "L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#191-391) sends eth to arbitrary user\n\tDangerous calls:\n\t- retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#357-381)\n\t- retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#357-381)\n\t- retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#357-381)\n\t- retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#357-381)\n", - "markdown": "[L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L191-L391) sends eth to arbitrary user\n\tDangerous calls:\n\t- [retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L357-L381)\n\t- [retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L357-L381)\n\t- [retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L357-L381)\n\t- [retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L357-L381)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L191-L391", - "id": "034dbaa890789f67476e34943c87feda61f5b86e72bde1b9618797d0fa794382", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_deployL2Factory", - "source_mapping": { - "start": 17504, - "length": 1495, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_deployL2Factory(address,uint256,bool)" - } - }, - { - "type": "node", - "name": "IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)", - "source_mapping": { - "start": 18665, - "length": 317, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [446, 447, 448, 449, 450, 451, 452, 453, 454, 455], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_deployL2Factory", - "source_mapping": { - "start": 17504, - "length": 1495, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_deployL2Factory(address,uint256,bool)" - } - } - } - } - ], - "description": "L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#419-457) sends eth to arbitrary user\n\tDangerous calls:\n\t- IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#446-455)\n", - "markdown": "[L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L446-L455)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457", - "id": "fb98f7278a5196cafc9e11bf1f3cea87582f2d4b2f02ca2d1a86e2eba55090ee", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_sendRetryableUsingEth", - "source_mapping": { - "start": 3088, - "length": 1814, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [ - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1TokenBridgeRetryableSender", - "source_mapping": { - "start": 1390, - "length": 5848, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address)" - } - }, - { - "type": "node", - "name": "(success) = deployer.call{value: address(this).balance}()", - "source_mapping": { - "start": 4756, - "length": 65, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [118], - "starting_column": 9, - "ending_column": 74 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_sendRetryableUsingEth", - "source_mapping": { - "start": 3088, - "length": 1814, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [ - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1TokenBridgeRetryableSender", - "source_mapping": { - "start": 1390, - "length": 5848, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address)" - } - } - } - } - ], - "description": "L1TokenBridgeRetryableSender._sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#77-120) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success) = deployer.call{value: address(this).balance}() (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#118)\n", - "markdown": "[L1TokenBridgeRetryableSender._sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L77-L120) sends eth to arbitrary user\n\tDangerous calls:\n\t- [(success) = deployer.call{value: address(this).balance}()](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L118)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L77-L120", - "id": "ada2d1435f09d3b48a0786ea951cb74800a804b9f25e399cf86fef60054fd1cc", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_createRetryableUsingEth", - "source_mapping": { - "start": 6138, - "length": 557, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [ - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1TokenBridgeRetryableSender", - "source_mapping": { - "start": 1390, - "length": 5848, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)" - } - }, - { - "type": "node", - "name": "IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)", - "source_mapping": { - "start": 6332, - "length": 356, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [164, 165, 166, 167, 168, 169, 170, 171, 172, 173], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_createRetryableUsingEth", - "source_mapping": { - "start": 6138, - "length": 557, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [ - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1TokenBridgeRetryableSender", - "source_mapping": { - "start": 1390, - "length": 5848, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)" - } - } - } - } - ], - "description": "L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#158-174) sends eth to arbitrary user\n\tDangerous calls:\n\t- IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#164-173)\n", - "markdown": "[L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L158-L174) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L164-L173)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L158-L174", - "id": "4c4f70964e6cde91afbc799d6ab9b4dc837d537053b2cc98e9c92a36582269d8", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "inboundEscrowTransfer", - "source_mapping": { - "start": 2941, - "length": 245, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "is_dependency": false, - "lines": [88, 89, 90, 91, 92, 93, 94, 95], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1WethGateway", - "source_mapping": { - "start": 965, - "length": 3233, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "is_dependency": false, - "lines": [ - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "inboundEscrowTransfer(address,address,uint256)" - } - }, - { - "type": "node", - "name": "IWETH9(_l1Token).deposit{value: _amount}()", - "source_mapping": { - "start": 3080, - "length": 44, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "is_dependency": false, - "lines": [93], - "starting_column": 9, - "ending_column": 53 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "inboundEscrowTransfer", - "source_mapping": { - "start": 2941, - "length": 245, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "is_dependency": false, - "lines": [88, 89, 90, 91, 92, 93, 94, 95], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1WethGateway", - "source_mapping": { - "start": 965, - "length": 3233, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", - "is_dependency": false, - "lines": [ - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "inboundEscrowTransfer(address,address,uint256)" - } - } - } - } - ], - "description": "L1WethGateway.inboundEscrowTransfer(address,address,uint256) (contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol#88-95) sends eth to arbitrary user\n\tDangerous calls:\n\t- IWETH9(_l1Token).deposit{value: _amount}() (contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol#93)\n", - "markdown": "[L1WethGateway.inboundEscrowTransfer(address,address,uint256)](contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol#L88-L95) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IWETH9(_l1Token).deposit{value: _amount}()](contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol#L93)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol#L88-L95", - "id": "aefde4912f3446b807349549a2c0405d67afd0d48c7f40e4f14c642fc6454318", - "check": "arbitrary-send-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "IERC20Bridge", - "source_mapping": { - "start": 23832, - "length": 86, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [574, 575, 576], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "contract", - "name": "IERC20Bridge", - "source_mapping": { - "start": 119, - "length": 229, - "filename_relative": "contracts/tokenbridge/libraries/IERC20Bridge.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/libraries/IERC20Bridge.sol", - "filename_short": "contracts/tokenbridge/libraries/IERC20Bridge.sol", - "is_dependency": false, - "lines": [6, 7, 8, 9, 10, 11], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "IERC20Bridge is re-used:\n\t- IERC20Bridge (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#574-576)\n\t- IERC20Bridge (contracts/tokenbridge/libraries/IERC20Bridge.sol#6-11)\n", - "markdown": "IERC20Bridge is re-used:\n\t- [IERC20Bridge](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L574-L576)\n\t- [IERC20Bridge](contracts/tokenbridge/libraries/IERC20Bridge.sol#L6-L11)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L574-L576", - "id": "2ca35f4fbb313c6294b93a66b333ff2dc0f962a9c98de3f908d0dff6b4538f26", - "check": "name-reused", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "contract", - "name": "IERC20Inbox", - "source_mapping": { - "start": 6152, - "length": 380, - "filename_relative": "contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol", - "is_dependency": false, - "lines": [ - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205 - ], - "starting_column": 1, - "ending_column": 0 - } - }, - { - "type": "contract", - "name": "IERC20Inbox", - "source_mapping": { - "start": 8253, - "length": 380, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [ - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255 - ], - "starting_column": 1, - "ending_column": 2 - } - } - ], - "description": "IERC20Inbox is re-used:\n\t- IERC20Inbox (contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol#192-205)\n\t- IERC20Inbox (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#243-255)\n", - "markdown": "IERC20Inbox is re-used:\n\t- [IERC20Inbox](contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol#L192-L205)\n\t- [IERC20Inbox](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L243-L255)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol#L192-L205", - "id": "d9200075657b7d891f639f04329e159f258cf6e64fd3881860ed334af315532f", - "check": "name-reused", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "redirectedExits", - "source_mapping": { - "start": 1128, - "length": 51, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "is_dependency": false, - "lines": [42], - "starting_column": 5, - "ending_column": 56 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1ArbitrumExtendedGateway", - "source_mapping": { - "start": 927, - "length": 4270, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "is_dependency": false, - "lines": [ - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140 - ], - "starting_column": 1, - "ending_column": 2 - } - } - } - }, - { - "type": "function", - "name": "getExternalCall", - "source_mapping": { - "start": 3628, - "length": 925, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "is_dependency": false, - "lines": [ - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1ArbitrumExtendedGateway", - "source_mapping": { - "start": 927, - "length": 4270, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", - "is_dependency": false, - "lines": [ - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "getExternalCall(uint256,address,bytes)" - } - } - ], - "description": "L1ArbitrumExtendedGateway.redirectedExits (contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol#42) is never initialized. It is used in:\n\t- L1ArbitrumExtendedGateway.getExternalCall(uint256,address,bytes) (contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol#103-120)\n", - "markdown": "[L1ArbitrumExtendedGateway.redirectedExits](contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol#L42) is never initialized. It is used in:\n\t- [L1ArbitrumExtendedGateway.getExternalCall(uint256,address,bytes)](contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol#L103-L120)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol#L42", - "id": "e5aa1893c702d02a90473a1c603e113adcc2f5f0696cde71aac9ae09574067bf", - "check": "uninitialized-state", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "variable", - "name": "shouldWithdraw", - "source_mapping": { - "start": 9380, - "length": 19, - "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", - "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", - "is_dependency": false, - "lines": [263], - "starting_column": 13, - "ending_column": 32 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "finalizeInboundTransfer", - "source_mapping": { - "start": 8148, - "length": 2321, - "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", - "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", - "is_dependency": false, - "lines": [ - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L2ArbitrumGateway", - "source_mapping": { - "start": 1103, - "length": 9658, - "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", - "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", - "is_dependency": false, - "lines": [ - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "finalizeInboundTransfer(address,address,address,uint256,bytes)" - } - } - } - } - ], - "description": "L2ArbitrumGateway.finalizeInboundTransfer(address,address,address,uint256,bytes).shouldWithdraw (contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol#263) is a local variable never initialized\n", - "markdown": "[L2ArbitrumGateway.finalizeInboundTransfer(address,address,address,uint256,bytes).shouldWithdraw](contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol#L263) is a local variable never initialized\n", - "first_markdown_element": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol#L263", - "id": "99efcf80cf8863b2ea366b5c3a40419d4d30f7aa6912ddfcfc6869d533f387f9", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "l1Deployment", - "source_mapping": { - "start": 9536, - "length": 41, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [222], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createTokenBridge", - "source_mapping": { - "start": 8206, - "length": 8378, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createTokenBridge(address,address,uint256,uint256)" - } - } - } - } - ], - "description": "L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256).l1Deployment (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#222) is a local variable never initialized\n", - "markdown": "[L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256).l1Deployment](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L222) is a local variable never initialized\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L222", - "id": "83541fa7c678a7dc42b6a8c5709120d6d76a9a51c8ccf8c6cf6e984776341180", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "l2NewDefaultGateway", - "source_mapping": { - "start": 2756, - "length": 27, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", - "is_dependency": false, - "lines": [92], - "starting_column": 9, - "ending_column": 36 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_setDefaultGateway", - "source_mapping": { - "start": 2425, - "length": 1071, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", - "is_dependency": false, - "lines": [ - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1GatewayRouter", - "source_mapping": { - "start": 1254, - "length": 11109, - "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", - "filename_short": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", - "is_dependency": false, - "lines": [ - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, 351, 352, 353, 354 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_setDefaultGateway(address,uint256,uint256,uint256,uint256)" - } - } - } - } - ], - "description": "L1GatewayRouter._setDefaultGateway(address,uint256,uint256,uint256,uint256).l2NewDefaultGateway (contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol#92) is a local variable never initialized\n", - "markdown": "[L1GatewayRouter._setDefaultGateway(address,uint256,uint256,uint256,uint256).l2NewDefaultGateway](contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol#L92) is a local variable never initialized\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol#L92", - "id": "8557712f770f31a8c2dbfa8451859919fe91c55860d5c13d31210fc167b6085e", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "l2Deployment", - "source_mapping": { - "start": 9587, - "length": 41, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [223], - "starting_column": 9, - "ending_column": 50 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "createTokenBridge", - "source_mapping": { - "start": 8206, - "length": 8378, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "createTokenBridge(address,address,uint256,uint256)" - } - } - } - } - ], - "description": "L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256).l2Deployment (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#223) is a local variable never initialized\n", - "markdown": "[L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256).l2Deployment](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L223) is a local variable never initialized\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L223", - "id": "9bfb8ca665ae98867b761c889e2c325d50e1cb30307188f74f012df830627e2b", - "check": "uninitialized-local", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "deployL2Contracts", - "source_mapping": { - "start": 1836, - "length": 2106, - "filename_relative": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "filename_short": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "is_dependency": false, - "lines": [ - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L2AtomicTokenBridgeFactory", - "source_mapping": { - "start": 1325, - "length": 10350, - "filename_relative": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "filename_short": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "is_dependency": false, - "lines": [ - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deployL2Contracts(L2RuntimeCode,address,address,address,address,address,address,address,address)" - } - }, - { - "type": "node", - "name": "Create2.deploy(0,_getL2Salt(OrbitSalts.L2_MULTICALL),CreationCodeHelper.getCreationCodeFor(l2Code.multicall))", - "source_mapping": { - "start": 3658, - "length": 157, - "filename_relative": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "filename_short": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "is_dependency": false, - "lines": [78, 79, 80, 81, 82], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "deployL2Contracts", - "source_mapping": { - "start": 1836, - "length": 2106, - "filename_relative": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "filename_short": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "is_dependency": false, - "lines": [ - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L2AtomicTokenBridgeFactory", - "source_mapping": { - "start": 1325, - "length": 10350, - "filename_relative": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "filename_short": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", - "is_dependency": false, - "lines": [ - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "deployL2Contracts(L2RuntimeCode,address,address,address,address,address,address,address,address)" - } - } - } - } - ], - "description": "L2AtomicTokenBridgeFactory.deployL2Contracts(L2RuntimeCode,address,address,address,address,address,address,address,address) (contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol#35-86) ignores return value by Create2.deploy(0,_getL2Salt(OrbitSalts.L2_MULTICALL),CreationCodeHelper.getCreationCodeFor(l2Code.multicall)) (contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol#78-82)\n", - "markdown": "[L2AtomicTokenBridgeFactory.deployL2Contracts(L2RuntimeCode,address,address,address,address,address,address,address,address)](contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol#L35-L86) ignores return value by [Create2.deploy(0,_getL2Salt(OrbitSalts.L2_MULTICALL),CreationCodeHelper.getCreationCodeFor(l2Code.multicall))](contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol#L78-L82)\n", - "first_markdown_element": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol#L35-L86", - "id": "2956ed76e7f9c4953ba1242f2735d68b34ea04746ec3353fe026ad5948aa4de9", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_deployL2Factory", - "source_mapping": { - "start": 17504, - "length": 1495, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_deployL2Factory(address,uint256,bool)" - } - }, - { - "type": "node", - "name": "IERC20Inbox(inbox).createRetryableTicket(address(0),0,0,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,retryableFee,deploymentData)", - "source_mapping": { - "start": 18088, - "length": 315, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_deployL2Factory", - "source_mapping": { - "start": 17504, - "length": 1495, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_deployL2Factory(address,uint256,bool)" - } - } - } - } - ], - "description": "L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#419-457) ignores return value by IERC20Inbox(inbox).createRetryableTicket(address(0),0,0,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,retryableFee,deploymentData) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#430-440)\n", - "markdown": "[L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457) ignores return value by [IERC20Inbox(inbox).createRetryableTicket(address(0),0,0,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,retryableFee,deploymentData)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L430-L440)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457", - "id": "5b42d3da6788d2620013e282eb36392b896719376d0e6e696cdf0f834f4304e5", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_deployL2Factory", - "source_mapping": { - "start": 17504, - "length": 1495, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_deployL2Factory(address,uint256,bool)" - } - }, - { - "type": "node", - "name": "IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)", - "source_mapping": { - "start": 18665, - "length": 317, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [446, 447, 448, 449, 450, 451, 452, 453, 454, 455], - "starting_column": 13, - "ending_column": 14 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_deployL2Factory", - "source_mapping": { - "start": 17504, - "length": 1495, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1AtomicTokenBridgeCreator", - "source_mapping": { - "start": 2103, - "length": 21727, - "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", - "is_dependency": false, - "lines": [ - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_deployL2Factory(address,uint256,bool)" - } - } - } - } - ], - "description": "L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#419-457) ignores return value by IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#446-455)\n", - "markdown": "[L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457) ignores return value by [IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L446-L455)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457", - "id": "aafe49a231e7d3b126341a33da7db43715357cb892fe24472837df4c5f33ec11", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_createRetryableUsingEth", - "source_mapping": { - "start": 6138, - "length": 557, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [ - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1TokenBridgeRetryableSender", - "source_mapping": { - "start": 1390, - "length": 5848, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)" - } - }, - { - "type": "node", - "name": "IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)", - "source_mapping": { - "start": 6332, - "length": 356, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [164, 165, 166, 167, 168, 169, 170, 171, 172, 173], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_createRetryableUsingEth", - "source_mapping": { - "start": 6138, - "length": 557, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [ - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1TokenBridgeRetryableSender", - "source_mapping": { - "start": 1390, - "length": 5848, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)" - } - } - } - } - ], - "description": "L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#158-174) ignores return value by IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#164-173)\n", - "markdown": "[L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L158-L174) ignores return value by [IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L164-L173)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L158-L174", - "id": "5f74ad6c8ee4fc18cbf8d669df2b679b3512ee14642ecb63b05bf84023e9a896", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "_createRetryableUsingFeeToken", - "source_mapping": { - "start": 6701, - "length": 535, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [ - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1TokenBridgeRetryableSender", - "source_mapping": { - "start": 1390, - "length": 5848, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_createRetryableUsingFeeToken(RetryableParams,uint256,bytes)" - } - }, - { - "type": "node", - "name": "IERC20Inbox(retryableParams.inbox).createRetryableTicket(retryableParams.target,0,0,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,retryableFee,data)", - "source_mapping": { - "start": 6872, - "length": 357, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], - "starting_column": 9, - "ending_column": 10 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "_createRetryableUsingFeeToken", - "source_mapping": { - "start": 6701, - "length": 535, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "is_dependency": false, - "lines": [ - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192 - ], - "starting_column": 5, - "ending_column": 6 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "L1TokenBridgeRetryableSender", - "source_mapping": { - "start": 1390, - "length": 5848, - "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", - "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "_createRetryableUsingFeeToken(RetryableParams,uint256,bytes)" - } - } - } - } - ], - "description": "L1TokenBridgeRetryableSender._createRetryableUsingFeeToken(RetryableParams,uint256,bytes) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#176-192) ignores return value by IERC20Inbox(retryableParams.inbox).createRetryableTicket(retryableParams.target,0,0,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,retryableFee,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#181-191)\n", - "markdown": "[L1TokenBridgeRetryableSender._createRetryableUsingFeeToken(RetryableParams,uint256,bytes)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L176-L192) ignores return value by [IERC20Inbox(retryableParams.inbox).createRetryableTicket(retryableParams.target,0,0,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,retryableFee,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L181-L191)\n", - "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L176-L192", - "id": "7d88b6a8fd8fe6fea6815daf535353cce2e2f5054dbb4c9d49a56e61dcdcd6f0", - "check": "unused-return", - "impact": "Medium", - "confidence": "Medium" - } -] +[{"elements": [{"type": "function", "name": "_sendRetryableToCreateContracts", "source_mapping": {"start": 16693, "length": 689, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_sendRetryableToCreateContracts(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,L2DeploymentAddresses,address,address)"}}, {"type": "node", "name": "retryableSender.sendRetryable{value: 0}(retryableParams,l2TemplateAddress,l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor)", "source_mapping": {"start": 17027, "length": 348, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_sendRetryableToCreateContracts", "source_mapping": {"start": 16693, "length": 689, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_sendRetryableToCreateContracts(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,L2DeploymentAddresses,address,address)"}}}}, {"type": "node", "name": "retryableSender.sendRetryable{value: address(this).balance}(retryableParams,l2TemplateAddress,l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor)", "source_mapping": {"start": 17027, "length": 348, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_sendRetryableToCreateContracts", "source_mapping": {"start": 16693, "length": 689, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_sendRetryableToCreateContracts(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,L2DeploymentAddresses,address,address)"}}}}], "description": "L1AtomicTokenBridgeCreator._sendRetryableToCreateContracts(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,L2DeploymentAddresses,address,address) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#400-419) sends eth to arbitrary user\n\tDangerous calls:\n\t- retryableSender.sendRetryable{value: 0}(retryableParams,l2TemplateAddress,l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#408-418)\n\t- retryableSender.sendRetryable{value: address(this).balance}(retryableParams,l2TemplateAddress,l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#408-418)\n", "markdown": "[L1AtomicTokenBridgeCreator._sendRetryableToCreateContracts(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,L2DeploymentAddresses,address,address)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L400-L419) sends eth to arbitrary user\n\tDangerous calls:\n\t- [retryableSender.sendRetryable{value: 0}(retryableParams,l2TemplateAddress,l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L408-L418)\n\t- [retryableSender.sendRetryable{value: address(this).balance}(retryableParams,l2TemplateAddress,l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L408-L418)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L400-L419", "id": "84a1b3de438b5383716ee1c6461a8a33564d9e9909292e29f6920c3dde7db801", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 18302, "length": 1541, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,address)"}}, {"type": "node", "name": "IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)", "source_mapping": {"start": 19509, "length": 317, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [474, 475, 476, 477, 478, 479, 480, 481, 482, 483], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 18302, "length": 1541, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,address)"}}}}], "description": "L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,address) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#447-485) sends eth to arbitrary user\n\tDangerous calls:\n\t- IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#474-483)\n", "markdown": "[L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,address)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L447-L485) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L474-L483)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L447-L485", "id": "99184e5a886f6131fdcb8318889a0655a41bf41eb6069c01f0099a0212556371", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_createRetryableUsingEth", "source_mapping": {"start": 6082, "length": 557, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1397, "length": 5781, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)"}}, {"type": "node", "name": "IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)", "source_mapping": {"start": 6276, "length": 356, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_createRetryableUsingEth", "source_mapping": {"start": 6082, "length": 557, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1397, "length": 5781, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)"}}}}], "description": "L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#156-172) sends eth to arbitrary user\n\tDangerous calls:\n\t- IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#162-171)\n", "markdown": "[L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L156-L172) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L162-L171)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L156-L172", "id": "a7688c5005162ad9a035feab8e6c4c7161c854dec1f75d2422d647ef3ad2bfa7", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getScaledAmount", "source_mapping": {"start": 24678, "length": 577, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getScaledAmount(address,uint256)"}}, {"type": "node", "name": "scaledAmount = amount / (10 ** (18 - decimals))", "source_mapping": {"start": 24930, "length": 55, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [606], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "_getScaledAmount", "source_mapping": {"start": 24678, "length": 577, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getScaledAmount(address,uint256)"}}}}, {"type": "node", "name": "scaledAmount * (10 ** (18 - decimals)) < amount", "source_mapping": {"start": 25040, "length": 47, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [608], "starting_column": 17, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "_getScaledAmount", "source_mapping": {"start": 24678, "length": 577, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getScaledAmount(address,uint256)"}}}}], "description": "L1AtomicTokenBridgeCreator._getScaledAmount(address,uint256) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#601-615) performs a multiplication on the result of a division:\n\t- scaledAmount = amount / (10 ** (18 - decimals)) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#606)\n\t- scaledAmount * (10 ** (18 - decimals)) < amount (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#608)\n", "markdown": "[L1AtomicTokenBridgeCreator._getScaledAmount(address,uint256)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L601-L615) performs a multiplication on the result of a division:\n\t- [scaledAmount = amount / (10 ** (18 - decimals))](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L606)\n\t- [scaledAmount * (10 ** (18 - decimals)) < amount](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L608)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L601-L615", "id": "9428b34bca01750b5fd40a3d04ef8d1bd275d24c5252b84a82352b9cc78bc4e7", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "node", "name": "_deployL2Factory(inbox,gasPriceBid,feeToken)", "source_mapping": {"start": 14562, "length": 46, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [342], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "createTokenBridge", "source_mapping": {"start": 8217, "length": 8470, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "createTokenBridge(address,address,uint256,uint256)"}}}}, {"type": "node", "name": "_deployL2Factory(inbox,gasPriceBid,feeToken)", "source_mapping": {"start": 14562, "length": 46, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [342], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "createTokenBridge", "source_mapping": {"start": 8217, "length": 8470, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "createTokenBridge(address,address,uint256,uint256)"}}}}], "description": "Multiple retryable tickets created in the same function:\n\t -_deployL2Factory(inbox,gasPriceBid,feeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#342)\n\t -_deployL2Factory(inbox,gasPriceBid,feeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#342)\n", "markdown": "Multiple retryable tickets created in the same function:\n\t -[_deployL2Factory(inbox,gasPriceBid,feeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L342)\n\t -[_deployL2Factory(inbox,gasPriceBid,feeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L342)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L342", "id": "a529625c2877a63d7b2dbe920fcdb59daa32aacb3dbb402906376a5e3ddba6e7", "check": "out-of-order-retryable", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 18302, "length": 1541, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,address)"}}, {"type": "node", "name": "IERC20Inbox(inbox).createRetryableTicket(address(0),0,0,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,scaledRetryableFee,deploymentData)", "source_mapping": {"start": 18926, "length": 321, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 18302, "length": 1541, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,address)"}}}}], "description": "L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,address) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#447-485) ignores return value by IERC20Inbox(inbox).createRetryableTicket(address(0),0,0,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,scaledRetryableFee,deploymentData) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#458-468)\n", "markdown": "[L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,address)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L447-L485) ignores return value by [IERC20Inbox(inbox).createRetryableTicket(address(0),0,0,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,scaledRetryableFee,deploymentData)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L458-L468)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L447-L485", "id": "dc6f44871a7669ec4f8efc4b8484c6188fb3d717556f325671cf5d2fde4a1b09", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 18302, "length": 1541, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,address)"}}, {"type": "node", "name": "IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)", "source_mapping": {"start": 19509, "length": 317, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [474, 475, 476, 477, 478, 479, 480, 481, 482, 483], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 18302, "length": 1541, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2114, "length": 23143, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,address)"}}}}], "description": "L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,address) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#447-485) ignores return value by IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#474-483)\n", "markdown": "[L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,address)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L447-L485) ignores return value by [IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L474-L483)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L447-L485", "id": "e020b241fb03d0676863525627c28d172830b0205edf229997b005753861a0e9", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_createRetryableUsingEth", "source_mapping": {"start": 6082, "length": 557, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1397, "length": 5781, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)"}}, {"type": "node", "name": "IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)", "source_mapping": {"start": 6276, "length": 356, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [162, 163, 164, 165, 166, 167, 168, 169, 170, 171], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_createRetryableUsingEth", "source_mapping": {"start": 6082, "length": 557, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1397, "length": 5781, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)"}}}}], "description": "L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#156-172) ignores return value by IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#162-171)\n", "markdown": "[L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L156-L172) ignores return value by [IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L162-L171)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L156-L172", "id": "f3fce683bbb88d3bc3deac571c8226af666c3cd0ba19d493a68e53fcf76039c3", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_createRetryableUsingFeeToken", "source_mapping": {"start": 6645, "length": 531, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1397, "length": 5781, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingFeeToken(RetryableParams,bytes)"}}, {"type": "node", "name": "IERC20Inbox(retryableParams.inbox).createRetryableTicket(retryableParams.target,0,0,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,retryableParams.feeTokenTotalFeeAmount,data)", "source_mapping": {"start": 6786, "length": 383, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_createRetryableUsingFeeToken", "source_mapping": {"start": 6645, "length": 531, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1397, "length": 5781, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingFeeToken(RetryableParams,bytes)"}}}}], "description": "L1TokenBridgeRetryableSender._createRetryableUsingFeeToken(RetryableParams,bytes) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#174-189) ignores return value by IERC20Inbox(retryableParams.inbox).createRetryableTicket(retryableParams.target,0,0,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,retryableParams.feeTokenTotalFeeAmount,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#178-188)\n", "markdown": "[L1TokenBridgeRetryableSender._createRetryableUsingFeeToken(RetryableParams,bytes)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L174-L189) ignores return value by [IERC20Inbox(retryableParams.inbox).createRetryableTicket(retryableParams.target,0,0,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,retryableParams.feeTokenTotalFeeAmount,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L178-L188)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L174-L189", "id": "b1f97e28632bc95bd065ae9a26c8acbdfd7cdd6155fe5910bf1567df8d76fe31", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "node", "name": "_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken)", "source_mapping": {"start": 14536, "length": 53, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [341], "starting_column": 9, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "createTokenBridge", "source_mapping": {"start": 8206, "length": 8378, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "createTokenBridge(address,address,uint256,uint256)"}}}}, {"type": "node", "name": "_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken)", "source_mapping": {"start": 14536, "length": 53, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [341], "starting_column": 9, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "createTokenBridge", "source_mapping": {"start": 8206, "length": 8378, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "createTokenBridge(address,address,uint256,uint256)"}}}}], "description": "Multiple retryable tickets created in the same function:\n\t -_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#341)\n\t -_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#341)\n", "markdown": "Multiple retryable tickets created in the same function:\n\t -[_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L341)\n\t -[_deployL2Factory(inbox,gasPriceBid,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L341)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L341", "id": "a5e3feb7f2c59d43132c3ae5f4b1d458ebcc490d790a35328f9b5374e676bfac", "check": "out-of-order-retryable", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "node", "name": "_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data)", "source_mapping": {"start": 4464, "length": 82, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [113], "starting_column": 9, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "_sendRetryableUsingEth", "source_mapping": {"start": 3088, "length": 1814, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1390, "length": 5848, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address)"}}}}, {"type": "node", "name": "_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data)", "source_mapping": {"start": 4464, "length": 82, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [113], "starting_column": 9, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "_sendRetryableUsingEth", "source_mapping": {"start": 3088, "length": 1814, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1390, "length": 5848, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address)"}}}}], "description": "Multiple retryable tickets created in the same function:\n\t -_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#113)\n\t -_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#113)\n", "markdown": "Multiple retryable tickets created in the same function:\n\t -[_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L113)\n\t -[_createRetryableUsingEth(retryableParams,maxSubmissionCost,retryableValue,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L113)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L113", "id": "17648cf433b86bf06bcab3f179d37fe19e73adff495e0e9485ce4b5d2d22a91b", "check": "out-of-order-retryable", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "outboundEscrowTransfer", "source_mapping": {"start": 11053, "length": 592, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "is_dependency": false, "lines": [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": "L1ArbitrumGateway", "source_mapping": {"start": 1279, "length": 14336, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404], "starting_column": 1, "ending_column": 2}}, "signature": "outboundEscrowTransfer(address,address,uint256)"}}, {"type": "node", "name": "IERC20(_l1Token).safeTransferFrom(_from,address(this),_amount)", "source_mapping": {"start": 11459, "length": 64, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "is_dependency": false, "lines": [301], "starting_column": 9, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "outboundEscrowTransfer", "source_mapping": {"start": 11053, "length": 592, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "is_dependency": false, "lines": [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": "L1ArbitrumGateway", "source_mapping": {"start": 1279, "length": 14336, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404], "starting_column": 1, "ending_column": 2}}, "signature": "outboundEscrowTransfer(address,address,uint256)"}}}}], "description": "L1ArbitrumGateway.outboundEscrowTransfer(address,address,uint256) (contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol#293-304) uses arbitrary from in transferFrom: IERC20(_l1Token).safeTransferFrom(_from,address(this),_amount) (contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol#301)\n", "markdown": "[L1ArbitrumGateway.outboundEscrowTransfer(address,address,uint256)](contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol#L293-L304) uses arbitrary from in transferFrom: [IERC20(_l1Token).safeTransferFrom(_from,address(this),_amount)](contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol#L301)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumGateway.sol#L293-L304", "id": "7f2693a46b04c9b469a640c442acfb2aaa3e814506fef81efed08031db2d23bd", "check": "arbitrary-send-erc20", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "inboundEscrowTransfer", "source_mapping": {"start": 2818, "length": 266, "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "is_dependency": false, "lines": [80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L2WethGateway", "source_mapping": {"start": 864, "length": 2787, "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "inboundEscrowTransfer(address,address,uint256)"}}, {"type": "node", "name": "IWETH9(_l2TokenAddress).deposit{value: _amount}()", "source_mapping": {"start": 2964, "length": 51, "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "is_dependency": false, "lines": [85], "starting_column": 9, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "inboundEscrowTransfer", "source_mapping": {"start": 2818, "length": 266, "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "is_dependency": false, "lines": [80, 81, 82, 83, 84, 85, 86, 87], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L2WethGateway", "source_mapping": {"start": 864, "length": 2787, "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], "starting_column": 1, "ending_column": 2}}, "signature": "inboundEscrowTransfer(address,address,uint256)"}}}}], "description": "L2WethGateway.inboundEscrowTransfer(address,address,uint256) (contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol#80-87) sends eth to arbitrary user\n\tDangerous calls:\n\t- IWETH9(_l2TokenAddress).deposit{value: _amount}() (contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol#85)\n", "markdown": "[L2WethGateway.inboundEscrowTransfer(address,address,uint256)](contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol#L80-L87) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IWETH9(_l2TokenAddress).deposit{value: _amount}()](contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol#L85)\n", "first_markdown_element": "contracts/tokenbridge/arbitrum/gateway/L2WethGateway.sol#L80-L87", "id": "e2c734fd5c5ec43d4faaa9a093395e2556c3b429c34215a26107de1a4271f405", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createTokenBridge", "source_mapping": {"start": 8206, "length": 8378, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "createTokenBridge(address,address,uint256,uint256)"}}, {"type": "node", "name": "retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)", "source_mapping": {"start": 15324, "length": 887, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "createTokenBridge", "source_mapping": {"start": 8206, "length": 8378, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "createTokenBridge(address,address,uint256,uint256)"}}}}, {"type": "node", "name": "retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)", "source_mapping": {"start": 15324, "length": 887, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "createTokenBridge", "source_mapping": {"start": 8206, "length": 8378, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "createTokenBridge(address,address,uint256,uint256)"}}}}, {"type": "node", "name": "retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)", "source_mapping": {"start": 15324, "length": 887, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "createTokenBridge", "source_mapping": {"start": 8206, "length": 8378, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "createTokenBridge(address,address,uint256,uint256)"}}}}, {"type": "node", "name": "retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)", "source_mapping": {"start": 15324, "length": 887, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "createTokenBridge", "source_mapping": {"start": 8206, "length": 8378, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "createTokenBridge(address,address,uint256,uint256)"}}}}], "description": "L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#191-391) sends eth to arbitrary user\n\tDangerous calls:\n\t- retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#357-381)\n\t- retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#357-381)\n\t- retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#357-381)\n\t- retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#357-381)\n", "markdown": "[L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L191-L391) sends eth to arbitrary user\n\tDangerous calls:\n\t- [retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L357-L381)\n\t- [retryableSender.sendRetryable{value: 0}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L357-L381)\n\t- [retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,address(0),address(0),address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L357-L381)\n\t- [retryableSender.sendRetryable{value: address(this).balance}(RetryableParams(inbox,canonicalL2FactoryAddress,msg.sender,msg.sender,maxGasForContracts,gasPriceBid),L2TemplateAddresses(l2RouterTemplate,l2StandardGatewayTemplate,l2CustomGatewayTemplate,l2WethGatewayTemplate,l2WethTemplate,address(l1Templates.upgradeExecutor),l2MulticallTemplate),l1Deployment,l2Deployment.standardGateway,l2RollupOwner,msg.sender,upgradeExecutor,isUsingFeeToken)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L357-L381)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L191-L391", "id": "034dbaa890789f67476e34943c87feda61f5b86e72bde1b9618797d0fa794382", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 17504, "length": 1495, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,bool)"}}, {"type": "node", "name": "IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)", "source_mapping": {"start": 18665, "length": 317, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [446, 447, 448, 449, 450, 451, 452, 453, 454, 455], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 17504, "length": 1495, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,bool)"}}}}], "description": "L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#419-457) sends eth to arbitrary user\n\tDangerous calls:\n\t- IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#446-455)\n", "markdown": "[L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L446-L455)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457", "id": "fb98f7278a5196cafc9e11bf1f3cea87582f2d4b2f02ca2d1a86e2eba55090ee", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_sendRetryableUsingEth", "source_mapping": {"start": 3088, "length": 1814, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1390, "length": 5848, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address)"}}, {"type": "node", "name": "(success) = deployer.call{value: address(this).balance}()", "source_mapping": {"start": 4756, "length": 65, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [118], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "_sendRetryableUsingEth", "source_mapping": {"start": 3088, "length": 1814, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1390, "length": 5848, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address)"}}}}], "description": "L1TokenBridgeRetryableSender._sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#77-120) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success) = deployer.call{value: address(this).balance}() (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#118)\n", "markdown": "[L1TokenBridgeRetryableSender._sendRetryableUsingEth(RetryableParams,L2TemplateAddresses,L1DeploymentAddresses,address,address,address,address)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L77-L120) sends eth to arbitrary user\n\tDangerous calls:\n\t- [(success) = deployer.call{value: address(this).balance}()](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L118)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L77-L120", "id": "ada2d1435f09d3b48a0786ea951cb74800a804b9f25e399cf86fef60054fd1cc", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_createRetryableUsingEth", "source_mapping": {"start": 6138, "length": 557, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1390, "length": 5848, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)"}}, {"type": "node", "name": "IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)", "source_mapping": {"start": 6332, "length": 356, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [164, 165, 166, 167, 168, 169, 170, 171, 172, 173], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_createRetryableUsingEth", "source_mapping": {"start": 6138, "length": 557, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1390, "length": 5848, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)"}}}}], "description": "L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#158-174) sends eth to arbitrary user\n\tDangerous calls:\n\t- IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#164-173)\n", "markdown": "[L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L158-L174) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L164-L173)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L158-L174", "id": "4c4f70964e6cde91afbc799d6ab9b4dc837d537053b2cc98e9c92a36582269d8", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "inboundEscrowTransfer", "source_mapping": {"start": 2941, "length": 245, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "is_dependency": false, "lines": [88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1WethGateway", "source_mapping": {"start": 965, "length": 3233, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}, "signature": "inboundEscrowTransfer(address,address,uint256)"}}, {"type": "node", "name": "IWETH9(_l1Token).deposit{value: _amount}()", "source_mapping": {"start": 3080, "length": 44, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "is_dependency": false, "lines": [93], "starting_column": 9, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "inboundEscrowTransfer", "source_mapping": {"start": 2941, "length": 245, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "is_dependency": false, "lines": [88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1WethGateway", "source_mapping": {"start": 965, "length": 3233, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130], "starting_column": 1, "ending_column": 2}}, "signature": "inboundEscrowTransfer(address,address,uint256)"}}}}], "description": "L1WethGateway.inboundEscrowTransfer(address,address,uint256) (contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol#88-95) sends eth to arbitrary user\n\tDangerous calls:\n\t- IWETH9(_l1Token).deposit{value: _amount}() (contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol#93)\n", "markdown": "[L1WethGateway.inboundEscrowTransfer(address,address,uint256)](contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol#L88-L95) sends eth to arbitrary user\n\tDangerous calls:\n\t- [IWETH9(_l1Token).deposit{value: _amount}()](contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol#L93)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/gateway/L1WethGateway.sol#L88-L95", "id": "aefde4912f3446b807349549a2c0405d67afd0d48c7f40e4f14c642fc6454318", "check": "arbitrary-send-eth", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "IERC20Bridge", "source_mapping": {"start": 23832, "length": 86, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [574, 575, 576], "starting_column": 1, "ending_column": 2}}, {"type": "contract", "name": "IERC20Bridge", "source_mapping": {"start": 119, "length": 229, "filename_relative": "contracts/tokenbridge/libraries/IERC20Bridge.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/libraries/IERC20Bridge.sol", "filename_short": "contracts/tokenbridge/libraries/IERC20Bridge.sol", "is_dependency": false, "lines": [6, 7, 8, 9, 10, 11], "starting_column": 1, "ending_column": 2}}], "description": "IERC20Bridge is re-used:\n\t- IERC20Bridge (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#574-576)\n\t- IERC20Bridge (contracts/tokenbridge/libraries/IERC20Bridge.sol#6-11)\n", "markdown": "IERC20Bridge is re-used:\n\t- [IERC20Bridge](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L574-L576)\n\t- [IERC20Bridge](contracts/tokenbridge/libraries/IERC20Bridge.sol#L6-L11)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L574-L576", "id": "2ca35f4fbb313c6294b93a66b333ff2dc0f962a9c98de3f908d0dff6b4538f26", "check": "name-reused", "impact": "High", "confidence": "High"}, {"elements": [{"type": "contract", "name": "IERC20Inbox", "source_mapping": {"start": 6152, "length": 380, "filename_relative": "contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol", "filename_short": "contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol", "is_dependency": false, "lines": [192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205], "starting_column": 1, "ending_column": 0}}, {"type": "contract", "name": "IERC20Inbox", "source_mapping": {"start": 8253, "length": 380, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], "starting_column": 1, "ending_column": 2}}], "description": "IERC20Inbox is re-used:\n\t- IERC20Inbox (contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol#192-205)\n\t- IERC20Inbox (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#243-255)\n", "markdown": "IERC20Inbox is re-used:\n\t- [IERC20Inbox](contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol#L192-L205)\n\t- [IERC20Inbox](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L243-L255)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol#L192-L205", "id": "d9200075657b7d891f639f04329e159f258cf6e64fd3881860ed334af315532f", "check": "name-reused", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "redirectedExits", "source_mapping": {"start": 1128, "length": 51, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ArbitrumExtendedGateway", "source_mapping": {"start": 927, "length": 4270, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "starting_column": 1, "ending_column": 2}}}}, {"type": "function", "name": "getExternalCall", "source_mapping": {"start": 3628, "length": 925, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1ArbitrumExtendedGateway", "source_mapping": {"start": 927, "length": 4270, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "starting_column": 1, "ending_column": 2}}, "signature": "getExternalCall(uint256,address,bytes)"}}], "description": "L1ArbitrumExtendedGateway.redirectedExits (contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol#42) is never initialized. It is used in:\n\t- L1ArbitrumExtendedGateway.getExternalCall(uint256,address,bytes) (contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol#103-120)\n", "markdown": "[L1ArbitrumExtendedGateway.redirectedExits](contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol#L42) is never initialized. It is used in:\n\t- [L1ArbitrumExtendedGateway.getExternalCall(uint256,address,bytes)](contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol#L103-L120)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/gateway/L1ArbitrumExtendedGateway.sol#L42", "id": "e5aa1893c702d02a90473a1c603e113adcc2f5f0696cde71aac9ae09574067bf", "check": "uninitialized-state", "impact": "High", "confidence": "High"}, {"elements": [{"type": "variable", "name": "shouldWithdraw", "source_mapping": {"start": 9380, "length": 19, "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", "is_dependency": false, "lines": [263], "starting_column": 13, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "finalizeInboundTransfer", "source_mapping": {"start": 8148, "length": 2321, "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", "is_dependency": false, "lines": [227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L2ArbitrumGateway", "source_mapping": {"start": 1103, "length": 9658, "filename_relative": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", "filename_short": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299], "starting_column": 1, "ending_column": 2}}, "signature": "finalizeInboundTransfer(address,address,address,uint256,bytes)"}}}}], "description": "L2ArbitrumGateway.finalizeInboundTransfer(address,address,address,uint256,bytes).shouldWithdraw (contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol#263) is a local variable never initialized\n", "markdown": "[L2ArbitrumGateway.finalizeInboundTransfer(address,address,address,uint256,bytes).shouldWithdraw](contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol#L263) is a local variable never initialized\n", "first_markdown_element": "contracts/tokenbridge/arbitrum/gateway/L2ArbitrumGateway.sol#L263", "id": "99efcf80cf8863b2ea366b5c3a40419d4d30f7aa6912ddfcfc6869d533f387f9", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "l1Deployment", "source_mapping": {"start": 9536, "length": 41, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [222], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "createTokenBridge", "source_mapping": {"start": 8206, "length": 8378, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "createTokenBridge(address,address,uint256,uint256)"}}}}], "description": "L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256).l1Deployment (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#222) is a local variable never initialized\n", "markdown": "[L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256).l1Deployment](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L222) is a local variable never initialized\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L222", "id": "83541fa7c678a7dc42b6a8c5709120d6d76a9a51c8ccf8c6cf6e984776341180", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "l2NewDefaultGateway", "source_mapping": {"start": 2756, "length": 27, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", "is_dependency": false, "lines": [92], "starting_column": 9, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "function", "name": "_setDefaultGateway", "source_mapping": {"start": 2425, "length": 1071, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", "is_dependency": false, "lines": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1GatewayRouter", "source_mapping": {"start": 1254, "length": 11109, "filename_relative": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", "filename_short": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354], "starting_column": 1, "ending_column": 2}}, "signature": "_setDefaultGateway(address,uint256,uint256,uint256,uint256)"}}}}], "description": "L1GatewayRouter._setDefaultGateway(address,uint256,uint256,uint256,uint256).l2NewDefaultGateway (contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol#92) is a local variable never initialized\n", "markdown": "[L1GatewayRouter._setDefaultGateway(address,uint256,uint256,uint256,uint256).l2NewDefaultGateway](contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol#L92) is a local variable never initialized\n", "first_markdown_element": "contracts/tokenbridge/ethereum/gateway/L1GatewayRouter.sol#L92", "id": "8557712f770f31a8c2dbfa8451859919fe91c55860d5c13d31210fc167b6085e", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "l2Deployment", "source_mapping": {"start": 9587, "length": 41, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [223], "starting_column": 9, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "createTokenBridge", "source_mapping": {"start": 8206, "length": 8378, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "createTokenBridge(address,address,uint256,uint256)"}}}}], "description": "L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256).l2Deployment (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#223) is a local variable never initialized\n", "markdown": "[L1AtomicTokenBridgeCreator.createTokenBridge(address,address,uint256,uint256).l2Deployment](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L223) is a local variable never initialized\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L223", "id": "9bfb8ca665ae98867b761c889e2c325d50e1cb30307188f74f012df830627e2b", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "deployL2Contracts", "source_mapping": {"start": 1836, "length": 2106, "filename_relative": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "filename_short": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L2AtomicTokenBridgeFactory", "source_mapping": {"start": 1325, "length": 10350, "filename_relative": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "filename_short": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284], "starting_column": 1, "ending_column": 2}}, "signature": "deployL2Contracts(L2RuntimeCode,address,address,address,address,address,address,address,address)"}}, {"type": "node", "name": "Create2.deploy(0,_getL2Salt(OrbitSalts.L2_MULTICALL),CreationCodeHelper.getCreationCodeFor(l2Code.multicall))", "source_mapping": {"start": 3658, "length": 157, "filename_relative": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "filename_short": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "deployL2Contracts", "source_mapping": {"start": 1836, "length": 2106, "filename_relative": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "filename_short": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L2AtomicTokenBridgeFactory", "source_mapping": {"start": 1325, "length": 10350, "filename_relative": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "filename_short": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol", "is_dependency": false, "lines": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284], "starting_column": 1, "ending_column": 2}}, "signature": "deployL2Contracts(L2RuntimeCode,address,address,address,address,address,address,address,address)"}}}}], "description": "L2AtomicTokenBridgeFactory.deployL2Contracts(L2RuntimeCode,address,address,address,address,address,address,address,address) (contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol#35-86) ignores return value by Create2.deploy(0,_getL2Salt(OrbitSalts.L2_MULTICALL),CreationCodeHelper.getCreationCodeFor(l2Code.multicall)) (contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol#78-82)\n", "markdown": "[L2AtomicTokenBridgeFactory.deployL2Contracts(L2RuntimeCode,address,address,address,address,address,address,address,address)](contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol#L35-L86) ignores return value by [Create2.deploy(0,_getL2Salt(OrbitSalts.L2_MULTICALL),CreationCodeHelper.getCreationCodeFor(l2Code.multicall))](contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol#L78-L82)\n", "first_markdown_element": "contracts/tokenbridge/arbitrum/L2AtomicTokenBridgeFactory.sol#L35-L86", "id": "2956ed76e7f9c4953ba1242f2735d68b34ea04746ec3353fe026ad5948aa4de9", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 17504, "length": 1495, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,bool)"}}, {"type": "node", "name": "IERC20Inbox(inbox).createRetryableTicket(address(0),0,0,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,retryableFee,deploymentData)", "source_mapping": {"start": 18088, "length": 315, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 17504, "length": 1495, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,bool)"}}}}], "description": "L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#419-457) ignores return value by IERC20Inbox(inbox).createRetryableTicket(address(0),0,0,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,retryableFee,deploymentData) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#430-440)\n", "markdown": "[L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457) ignores return value by [IERC20Inbox(inbox).createRetryableTicket(address(0),0,0,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,retryableFee,deploymentData)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L430-L440)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457", "id": "5b42d3da6788d2620013e282eb36392b896719376d0e6e696cdf0f834f4304e5", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 17504, "length": 1495, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,bool)"}}, {"type": "node", "name": "IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)", "source_mapping": {"start": 18665, "length": 317, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [446, 447, 448, 449, 450, 451, 452, 453, 454, 455], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_deployL2Factory", "source_mapping": {"start": 17504, "length": 1495, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1AtomicTokenBridgeCreator", "source_mapping": {"start": 2103, "length": 21727, "filename_relative": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "filename_short": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol", "is_dependency": false, "lines": [51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_deployL2Factory(address,uint256,bool)"}}}}], "description": "L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#419-457) ignores return value by IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData) (contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#446-455)\n", "markdown": "[L1AtomicTokenBridgeCreator._deployL2Factory(address,uint256,bool)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457) ignores return value by [IInbox(inbox).createRetryableTicket{value: retryableFee_scope_0}(address(0),0,maxSubmissionCost,msg.sender,msg.sender,gasLimitForL2FactoryDeployment,gasPriceBid,deploymentData)](contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L446-L455)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1AtomicTokenBridgeCreator.sol#L419-L457", "id": "aafe49a231e7d3b126341a33da7db43715357cb892fe24472837df4c5f33ec11", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_createRetryableUsingEth", "source_mapping": {"start": 6138, "length": 557, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1390, "length": 5848, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)"}}, {"type": "node", "name": "IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)", "source_mapping": {"start": 6332, "length": 356, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [164, 165, 166, 167, 168, 169, 170, 171, 172, 173], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_createRetryableUsingEth", "source_mapping": {"start": 6138, "length": 557, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1390, "length": 5848, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)"}}}}], "description": "L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#158-174) ignores return value by IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#164-173)\n", "markdown": "[L1TokenBridgeRetryableSender._createRetryableUsingEth(RetryableParams,uint256,uint256,bytes)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L158-L174) ignores return value by [IInbox(retryableParams.inbox).createRetryableTicket{value: value}(retryableParams.target,0,maxSubmissionCost,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L164-L173)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L158-L174", "id": "5f74ad6c8ee4fc18cbf8d669df2b679b3512ee14642ecb63b05bf84023e9a896", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_createRetryableUsingFeeToken", "source_mapping": {"start": 6701, "length": 535, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1390, "length": 5848, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingFeeToken(RetryableParams,uint256,bytes)"}}, {"type": "node", "name": "IERC20Inbox(retryableParams.inbox).createRetryableTicket(retryableParams.target,0,0,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,retryableFee,data)", "source_mapping": {"start": 6872, "length": 357, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_createRetryableUsingFeeToken", "source_mapping": {"start": 6701, "length": 535, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "is_dependency": false, "lines": [176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "L1TokenBridgeRetryableSender", "source_mapping": {"start": 1390, "length": 5848, "filename_relative": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_absolute": "/Users/goran/repos/offchain/token-bridge-contracts/contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol", "filename_short": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.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], "starting_column": 1, "ending_column": 2}}, "signature": "_createRetryableUsingFeeToken(RetryableParams,uint256,bytes)"}}}}], "description": "L1TokenBridgeRetryableSender._createRetryableUsingFeeToken(RetryableParams,uint256,bytes) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#176-192) ignores return value by IERC20Inbox(retryableParams.inbox).createRetryableTicket(retryableParams.target,0,0,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,retryableFee,data) (contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#181-191)\n", "markdown": "[L1TokenBridgeRetryableSender._createRetryableUsingFeeToken(RetryableParams,uint256,bytes)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L176-L192) ignores return value by [IERC20Inbox(retryableParams.inbox).createRetryableTicket(retryableParams.target,0,0,retryableParams.excessFeeRefundAddress,retryableParams.callValueRefundAddress,retryableParams.maxGas,retryableParams.gasPriceBid,retryableFee,data)](contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L181-L191)\n", "first_markdown_element": "contracts/tokenbridge/ethereum/L1TokenBridgeRetryableSender.sol#L176-L192", "id": "7d88b6a8fd8fe6fea6815daf535353cce2e2f5054dbb4c9d49a56e61dcdcd6f0", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}] \ No newline at end of file