-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathslither.db.json
1 lines (1 loc) · 427 KB
/
slither.db.json
1
[{"elements": [{"type": "function", "name": "_receiveDebtValue", "source_mapping": {"start": 4522, "length": 232, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_receiveDebtValue(address,address,uint256)"}}, {"type": "node", "name": "IERC20(_asset).safeTransferFrom(_sender,address(this),_amount)", "source_mapping": {"start": 4683, "length": 64, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [122], "starting_column": 39, "ending_column": 103}, "type_specific_fields": {"parent": {"type": "function", "name": "_receiveDebtValue", "source_mapping": {"start": 4522, "length": 232, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_receiveDebtValue(address,address,uint256)"}}}}], "description": "BaseEngine._receiveDebtValue(address,address,uint256) (src/core/engines/BaseEngine.sol#119-123) uses arbitrary from in transferFrom: IERC20(_asset).safeTransferFrom(_sender,address(this),_amount) (src/core/engines/BaseEngine.sol#122)\n", "markdown": "[BaseEngine._receiveDebtValue(address,address,uint256)](src/core/engines/BaseEngine.sol#L119-L123) uses arbitrary from in transferFrom: [IERC20(_asset).safeTransferFrom(_sender,address(this),_amount)](src/core/engines/BaseEngine.sol#L122)\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L119-L123", "id": "0a935d9ae3976c32c2d43bddcd0e01c19e6d815dd6e02937edd45652d73518d5", "check": "arbitrary-send-erc20", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "_addCollateral", "source_mapping": {"start": 6577, "length": 712, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_addCollateral(address,bytes)"}}, {"type": "node", "name": "IERC20(collateral).safeTransferFrom(from,address(this),amount)", "source_mapping": {"start": 7218, "length": 64, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [186], "starting_column": 9, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "_addCollateral", "source_mapping": {"start": 6577, "length": 712, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_addCollateral(address,bytes)"}}}}], "description": "BaseEngine._addCollateral(address,bytes) (src/core/engines/BaseEngine.sol#172-187) uses arbitrary from in transferFrom: IERC20(collateral).safeTransferFrom(from,address(this),amount) (src/core/engines/BaseEngine.sol#186)\n", "markdown": "[BaseEngine._addCollateral(address,bytes)](src/core/engines/BaseEngine.sol#L172-L187) uses arbitrary from in transferFrom: [IERC20(collateral).safeTransferFrom(from,address(this),amount)](src/core/engines/BaseEngine.sol#L186)\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L172-L187", "id": "d79d76efbe7f948b8cf076e9e751711c672af3f65a5ecff679a4633317392cfa", "check": "arbitrary-send-erc20", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "receiveDebtValue", "source_mapping": {"start": 1286, "length": 223, "filename_relative": "test/mocks/MockPhysicalEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/mocks/MockPhysicalEngine.sol", "filename_short": "test/mocks/MockPhysicalEngine.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockPhysicalEngine", "source_mapping": {"start": 596, "length": 1388, "filename_relative": "test/mocks/MockPhysicalEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/mocks/MockPhysicalEngine.sol", "filename_short": "test/mocks/MockPhysicalEngine.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 1, "ending_column": 2}}, "signature": "receiveDebtValue(address,address,uint256)"}}, {"type": "node", "name": "IERC20(_asset).safeTransferFrom(_sender,address(this),_amount)", "source_mapping": {"start": 1438, "length": 64, "filename_relative": "test/mocks/MockPhysicalEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/mocks/MockPhysicalEngine.sol", "filename_short": "test/mocks/MockPhysicalEngine.sol", "is_dependency": false, "lines": [43], "starting_column": 39, "ending_column": 103}, "type_specific_fields": {"parent": {"type": "function", "name": "receiveDebtValue", "source_mapping": {"start": 1286, "length": 223, "filename_relative": "test/mocks/MockPhysicalEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/mocks/MockPhysicalEngine.sol", "filename_short": "test/mocks/MockPhysicalEngine.sol", "is_dependency": false, "lines": [40, 41, 42, 43, 44], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockPhysicalEngine", "source_mapping": {"start": 596, "length": 1388, "filename_relative": "test/mocks/MockPhysicalEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/mocks/MockPhysicalEngine.sol", "filename_short": "test/mocks/MockPhysicalEngine.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "starting_column": 1, "ending_column": 2}}, "signature": "receiveDebtValue(address,address,uint256)"}}}}], "description": "MockPhysicalEngine.receiveDebtValue(address,address,uint256) (test/mocks/MockPhysicalEngine.sol#40-44) uses arbitrary from in transferFrom: IERC20(_asset).safeTransferFrom(_sender,address(this),_amount) (test/mocks/MockPhysicalEngine.sol#43)\n", "markdown": "[MockPhysicalEngine.receiveDebtValue(address,address,uint256)](test/mocks/MockPhysicalEngine.sol#L40-L44) uses arbitrary from in transferFrom: [IERC20(_asset).safeTransferFrom(_sender,address(this),_amount)](test/mocks/MockPhysicalEngine.sol#L43)\n", "first_markdown_element": "test/mocks/MockPhysicalEngine.sol#L40-L44", "id": "b68a070fee7dc1f2881bfe959e325c7b0b6d3ec7c48d1f7f822da60e71d338f2", "check": "arbitrary-send-erc20", "impact": "High", "confidence": "High"}, {"elements": [{"type": "function", "name": "testCannotGetPayoutBeforeExpiry", "source_mapping": {"start": 392, "length": 253, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomacePayoutTest", "source_mapping": {"start": 332, "length": 2290, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotGetPayoutBeforeExpiry()"}}, {"type": "node", "name": "pomace.getDebtAndPayout(tokenId,uint64(1 * UNIT))", "source_mapping": {"start": 588, "length": 50, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [18], "starting_column": 9, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "testCannotGetPayoutBeforeExpiry", "source_mapping": {"start": 392, "length": 253, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomacePayoutTest", "source_mapping": {"start": 332, "length": 2290, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotGetPayoutBeforeExpiry()"}}}}], "description": "PomacePayoutTest.testCannotGetPayoutBeforeExpiry() (test/integration-tests/PomacePayoutTest.t.sol#14-19) ignores return value by pomace.getDebtAndPayout(tokenId,uint64(1 * UNIT)) (test/integration-tests/PomacePayoutTest.t.sol#18)\n", "markdown": "[PomacePayoutTest.testCannotGetPayoutBeforeExpiry()](test/integration-tests/PomacePayoutTest.t.sol#L14-L19) ignores return value by [pomace.getDebtAndPayout(tokenId,uint64(1 * UNIT))](test/integration-tests/PomacePayoutTest.t.sol#L18)\n", "first_markdown_element": "test/integration-tests/PomacePayoutTest.t.sol#L14-L19", "id": "9d2ef3b0c86be9d52861883a11487e6aa0572ed413943ee6f65fc15ce9812ec5", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 727, "length": 155, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "constructor()"}}, {"type": "node", "name": "usdc.approve(address(engine),1_000_000 * 1e6)", "source_mapping": {"start": 829, "length": 46, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [25], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 727, "length": 155, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "constructor()"}}}}], "description": "PomaceSettlementTest.constructor() (test/integration-tests/PomaceSettlement.t.sol#23-26) ignores return value by usdc.approve(address(engine),1_000_000 * 1e6) (test/integration-tests/PomaceSettlement.t.sol#25)\n", "markdown": "[PomaceSettlementTest.constructor()](test/integration-tests/PomaceSettlement.t.sol#L23-L26) ignores return value by [usdc.approve(address(engine),1_000_000 * 1e6)](test/integration-tests/PomaceSettlement.t.sol#L25)\n", "first_markdown_element": "test/integration-tests/PomaceSettlement.t.sol#L23-L26", "id": "c2e62e113f500df99d40508865d8c5ecca5ec047fa888f73066ece4d89162676", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testSettleETHCollatCall", "source_mapping": {"start": 1158, "length": 526, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleETHCollatCall()"}}, {"type": "node", "name": "pomace.settleOption(address(this),tokenId,1 * UNIT)", "source_mapping": {"start": 1323, "length": 53, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [41], "starting_column": 9, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettleETHCollatCall", "source_mapping": {"start": 1158, "length": 526, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleETHCollatCall()"}}}}], "description": "PomaceSettlementTest.testSettleETHCollatCall() (test/integration-tests/PomaceSettlement.t.sol#36-48) ignores return value by pomace.settleOption(address(this),tokenId,1 * UNIT) (test/integration-tests/PomaceSettlement.t.sol#41)\n", "markdown": "[PomaceSettlementTest.testSettleETHCollatCall()](test/integration-tests/PomaceSettlement.t.sol#L36-L48) ignores return value by [pomace.settleOption(address(this),tokenId,1 * UNIT)](test/integration-tests/PomaceSettlement.t.sol#L41)\n", "first_markdown_element": "test/integration-tests/PomaceSettlement.t.sol#L36-L48", "id": "363170cf596b2496c07431d851292bfbc180a9bffb097c45164c62a21257849d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testSettleUSDCollatPut", "source_mapping": {"start": 1690, "length": 606, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleUSDCollatPut()"}}, {"type": "node", "name": "weth.approve(address(engine),1 * 1e18)", "source_mapping": {"start": 1785, "length": 39, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [52], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettleUSDCollatPut", "source_mapping": {"start": 1690, "length": 606, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleUSDCollatPut()"}}}}], "description": "PomaceSettlementTest.testSettleUSDCollatPut() (test/integration-tests/PomaceSettlement.t.sol#50-65) ignores return value by weth.approve(address(engine),1 * 1e18) (test/integration-tests/PomaceSettlement.t.sol#52)\n", "markdown": "[PomaceSettlementTest.testSettleUSDCollatPut()](test/integration-tests/PomaceSettlement.t.sol#L50-L65) ignores return value by [weth.approve(address(engine),1 * 1e18)](test/integration-tests/PomaceSettlement.t.sol#L52)\n", "first_markdown_element": "test/integration-tests/PomaceSettlement.t.sol#L50-L65", "id": "b2fb8053cc59f8fc9cb58a8be711edf8e55f0066de0e6b3749e98ff11720808e", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testSettleUSDCollatPut", "source_mapping": {"start": 1690, "length": 606, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleUSDCollatPut()"}}, {"type": "node", "name": "pomace.settleOption(address(this),tokenId,1 * UNIT)", "source_mapping": {"start": 1942, "length": 53, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [58], "starting_column": 9, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettleUSDCollatPut", "source_mapping": {"start": 1690, "length": 606, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleUSDCollatPut()"}}}}], "description": "PomaceSettlementTest.testSettleUSDCollatPut() (test/integration-tests/PomaceSettlement.t.sol#50-65) ignores return value by pomace.settleOption(address(this),tokenId,1 * UNIT) (test/integration-tests/PomaceSettlement.t.sol#58)\n", "markdown": "[PomaceSettlementTest.testSettleUSDCollatPut()](test/integration-tests/PomaceSettlement.t.sol#L50-L65) ignores return value by [pomace.settleOption(address(this),tokenId,1 * UNIT)](test/integration-tests/PomaceSettlement.t.sol#L58)\n", "first_markdown_element": "test/integration-tests/PomaceSettlement.t.sol#L50-L65", "id": "fcdac20d508e94c04b70f2fccff5d891add687b8ed8b86720e107add9b107a02", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testBatchSettleSameCollat", "source_mapping": {"start": 2302, "length": 813, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testBatchSettleSameCollat()"}}, {"type": "node", "name": "weth.approve(address(engine),1 * 1e18)", "source_mapping": {"start": 2356, "length": 39, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [68], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "testBatchSettleSameCollat", "source_mapping": {"start": 2302, "length": 813, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testBatchSettleSameCollat()"}}}}], "description": "PomaceSettlementTest.testBatchSettleSameCollat() (test/integration-tests/PomaceSettlement.t.sol#67-88) ignores return value by weth.approve(address(engine),1 * 1e18) (test/integration-tests/PomaceSettlement.t.sol#68)\n", "markdown": "[PomaceSettlementTest.testBatchSettleSameCollat()](test/integration-tests/PomaceSettlement.t.sol#L67-L88) ignores return value by [weth.approve(address(engine),1 * 1e18)](test/integration-tests/PomaceSettlement.t.sol#L68)\n", "first_markdown_element": "test/integration-tests/PomaceSettlement.t.sol#L67-L88", "id": "9e168d6df9168fa649151ba92ffa8a7abfacfa2522cd7149e3a0b4a088d0b73f", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testSettleDiffCollat", "source_mapping": {"start": 3121, "length": 897, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleDiffCollat()"}}, {"type": "node", "name": "weth.approve(address(engine),1 * 1e18)", "source_mapping": {"start": 3170, "length": 39, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [91], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettleDiffCollat", "source_mapping": {"start": 3121, "length": 897, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleDiffCollat()"}}}}], "description": "PomaceSettlementTest.testSettleDiffCollat() (test/integration-tests/PomaceSettlement.t.sol#90-112) ignores return value by weth.approve(address(engine),1 * 1e18) (test/integration-tests/PomaceSettlement.t.sol#91)\n", "markdown": "[PomaceSettlementTest.testSettleDiffCollat()](test/integration-tests/PomaceSettlement.t.sol#L90-L112) ignores return value by [weth.approve(address(engine),1 * 1e18)](test/integration-tests/PomaceSettlement.t.sol#L91)\n", "first_markdown_element": "test/integration-tests/PomaceSettlement.t.sol#L90-L112", "id": "5e18ca9060c9d73d7c685d5a100a33e96026c86898c1db97beb7c8819c13e2b0", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testSettlePutWithNonUnderlyingNorStrike", "source_mapping": {"start": 4024, "length": 1422, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettlePutWithNonUnderlyingNorStrike()"}}, {"type": "node", "name": "weth.approve(address(engine),1 * 1e18)", "source_mapping": {"start": 4136, "length": 39, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [116], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettlePutWithNonUnderlyingNorStrike", "source_mapping": {"start": 4024, "length": 1422, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettlePutWithNonUnderlyingNorStrike()"}}}}], "description": "PomaceSettlementTest.testSettlePutWithNonUnderlyingNorStrike() (test/integration-tests/PomaceSettlement.t.sol#114-148) ignores return value by weth.approve(address(engine),1 * 1e18) (test/integration-tests/PomaceSettlement.t.sol#116)\n", "markdown": "[PomaceSettlementTest.testSettlePutWithNonUnderlyingNorStrike()](test/integration-tests/PomaceSettlement.t.sol#L114-L148) ignores return value by [weth.approve(address(engine),1 * 1e18)](test/integration-tests/PomaceSettlement.t.sol#L116)\n", "first_markdown_element": "test/integration-tests/PomaceSettlement.t.sol#L114-L148", "id": "181e0847c210fb561395d3c93da17519300a09883f805e6eb8d915ff3282f930", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testSettlePutWithNonUnderlyingNorStrike", "source_mapping": {"start": 4024, "length": 1422, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettlePutWithNonUnderlyingNorStrike()"}}, {"type": "node", "name": "pomace.settleOption(address(this),tokenId,1 * UNIT)", "source_mapping": {"start": 4841, "length": 53, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [135], "starting_column": 9, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettlePutWithNonUnderlyingNorStrike", "source_mapping": {"start": 4024, "length": 1422, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettlePutWithNonUnderlyingNorStrike()"}}}}], "description": "PomaceSettlementTest.testSettlePutWithNonUnderlyingNorStrike() (test/integration-tests/PomaceSettlement.t.sol#114-148) ignores return value by pomace.settleOption(address(this),tokenId,1 * UNIT) (test/integration-tests/PomaceSettlement.t.sol#135)\n", "markdown": "[PomaceSettlementTest.testSettlePutWithNonUnderlyingNorStrike()](test/integration-tests/PomaceSettlement.t.sol#L114-L148) ignores return value by [pomace.settleOption(address(this),tokenId,1 * UNIT)](test/integration-tests/PomaceSettlement.t.sol#L135)\n", "first_markdown_element": "test/integration-tests/PomaceSettlement.t.sol#L114-L148", "id": "019bed28e13c343b97864ba6fce7f2e8b21d4632cf931cf5a522d7897a04b770", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testSettleCallWithNonUnderlyingNorStrike", "source_mapping": {"start": 5452, "length": 1514, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleCallWithNonUnderlyingNorStrike()"}}, {"type": "node", "name": "weth.approve(address(engine),1 * 1e18)", "source_mapping": {"start": 5565, "length": 39, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [152], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettleCallWithNonUnderlyingNorStrike", "source_mapping": {"start": 5452, "length": 1514, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleCallWithNonUnderlyingNorStrike()"}}}}], "description": "PomaceSettlementTest.testSettleCallWithNonUnderlyingNorStrike() (test/integration-tests/PomaceSettlement.t.sol#150-185) ignores return value by weth.approve(address(engine),1 * 1e18) (test/integration-tests/PomaceSettlement.t.sol#152)\n", "markdown": "[PomaceSettlementTest.testSettleCallWithNonUnderlyingNorStrike()](test/integration-tests/PomaceSettlement.t.sol#L150-L185) ignores return value by [weth.approve(address(engine),1 * 1e18)](test/integration-tests/PomaceSettlement.t.sol#L152)\n", "first_markdown_element": "test/integration-tests/PomaceSettlement.t.sol#L150-L185", "id": "d06a3ea781b6a801cc2627bd498192b91144502731d25bc9d5b2258c181c08ab", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testSettleCallWithNonUnderlyingNorStrike", "source_mapping": {"start": 5452, "length": 1514, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleCallWithNonUnderlyingNorStrike()"}}, {"type": "node", "name": "pomace.settleOption(address(this),tokenId,1 * UNIT)", "source_mapping": {"start": 6288, "length": 53, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [171], "starting_column": 9, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettleCallWithNonUnderlyingNorStrike", "source_mapping": {"start": 5452, "length": 1514, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}, "signature": "testSettleCallWithNonUnderlyingNorStrike()"}}}}], "description": "PomaceSettlementTest.testSettleCallWithNonUnderlyingNorStrike() (test/integration-tests/PomaceSettlement.t.sol#150-185) ignores return value by pomace.settleOption(address(this),tokenId,1 * UNIT) (test/integration-tests/PomaceSettlement.t.sol#171)\n", "markdown": "[PomaceSettlementTest.testSettleCallWithNonUnderlyingNorStrike()](test/integration-tests/PomaceSettlement.t.sol#L150-L185) ignores return value by [pomace.settleOption(address(this),tokenId,1 * UNIT)](test/integration-tests/PomaceSettlement.t.sol#L171)\n", "first_markdown_element": "test/integration-tests/PomaceSettlement.t.sol#L150-L185", "id": "bca8112652cd28f45666af84dfc6431d152c43137e7053c6d697178ff1c53903", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setUp", "source_mapping": {"start": 394, "length": 248, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceAccessTest", "source_mapping": {"start": 246, "length": 3468, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}, {"type": "node", "name": "usdc.approve(address(engine),type()(uint256).max)", "source_mapping": {"start": 517, "length": 48, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [19], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 394, "length": 248, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceAccessTest", "source_mapping": {"start": 246, "length": 3468, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}}], "description": "PomaceAccessTest.setUp() (test/unit-tests/PomaceAccess.t.sol#15-22) ignores return value by usdc.approve(address(engine),type()(uint256).max) (test/unit-tests/PomaceAccess.t.sol#19)\n", "markdown": "[PomaceAccessTest.setUp()](test/unit-tests/PomaceAccess.t.sol#L15-L22) ignores return value by [usdc.approve(address(engine),type()(uint256).max)](test/unit-tests/PomaceAccess.t.sol#L19)\n", "first_markdown_element": "test/unit-tests/PomaceAccess.t.sol#L15-L22", "id": "f8e2ad66e11513be7fbf43bdf23451fd1bc4f620bfb5d7ccd6cdf6e44fec3cd4", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testCannotRegisterFromNonOwner", "source_mapping": {"start": 928, "length": 197, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegisterFromNonOwner()"}}, {"type": "node", "name": "pomace.registerAsset(address(weth))", "source_mapping": {"start": 1083, "length": 35, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [36], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "testCannotRegisterFromNonOwner", "source_mapping": {"start": 928, "length": 197, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegisterFromNonOwner()"}}}}], "description": "PomaceRegistry.testCannotRegisterFromNonOwner() (test/unit-tests/PomaceRegistry.sol#33-37) ignores return value by pomace.registerAsset(address(weth)) (test/unit-tests/PomaceRegistry.sol#36)\n", "markdown": "[PomaceRegistry.testCannotRegisterFromNonOwner()](test/unit-tests/PomaceRegistry.sol#L33-L37) ignores return value by [pomace.registerAsset(address(weth))](test/unit-tests/PomaceRegistry.sol#L36)\n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L33-L37", "id": "c04474e284591d196cfa616f43c1dc9c5a616faa64c116403625e46856cf9a9d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testCannotRegistrySameAssetTwice", "source_mapping": {"start": 1575, "length": 209, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegistrySameAssetTwice()"}}, {"type": "node", "name": "pomace.registerAsset(address(weth))", "source_mapping": {"start": 1636, "length": 35, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [56], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "testCannotRegistrySameAssetTwice", "source_mapping": {"start": 1575, "length": 209, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegistrySameAssetTwice()"}}}}], "description": "PomaceRegistry.testCannotRegistrySameAssetTwice() (test/unit-tests/PomaceRegistry.sol#55-59) ignores return value by pomace.registerAsset(address(weth)) (test/unit-tests/PomaceRegistry.sol#56)\n", "markdown": "[PomaceRegistry.testCannotRegistrySameAssetTwice()](test/unit-tests/PomaceRegistry.sol#L55-L59) ignores return value by [pomace.registerAsset(address(weth))](test/unit-tests/PomaceRegistry.sol#L56)\n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L55-L59", "id": "a58197aebee715641761d0e676ffde2ef3236a02d0b1849920e674d4ed3be9db", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testCannotRegistrySameAssetTwice", "source_mapping": {"start": 1575, "length": 209, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegistrySameAssetTwice()"}}, {"type": "node", "name": "pomace.registerAsset(address(weth))", "source_mapping": {"start": 1742, "length": 35, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [58], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "testCannotRegistrySameAssetTwice", "source_mapping": {"start": 1575, "length": 209, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [55, 56, 57, 58, 59], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegistrySameAssetTwice()"}}}}], "description": "PomaceRegistry.testCannotRegistrySameAssetTwice() (test/unit-tests/PomaceRegistry.sol#55-59) ignores return value by pomace.registerAsset(address(weth)) (test/unit-tests/PomaceRegistry.sol#58)\n", "markdown": "[PomaceRegistry.testCannotRegistrySameAssetTwice()](test/unit-tests/PomaceRegistry.sol#L55-L59) ignores return value by [pomace.registerAsset(address(weth))](test/unit-tests/PomaceRegistry.sol#L58)\n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L55-L59", "id": "9f9e24e2562a954d46d277095180777d9ce5fd99d60c745c984afaf2ebfa3dcc", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testReturnAssetsFromProductId", "source_mapping": {"start": 1790, "length": 587, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "testReturnAssetsFromProductId()"}}, {"type": "node", "name": "pomace.registerAsset(address(weth))", "source_mapping": {"start": 1848, "length": 35, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [62], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "testReturnAssetsFromProductId", "source_mapping": {"start": 1790, "length": 587, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "testReturnAssetsFromProductId()"}}}}], "description": "PomaceRegistry.testReturnAssetsFromProductId() (test/unit-tests/PomaceRegistry.sol#61-76) ignores return value by pomace.registerAsset(address(weth)) (test/unit-tests/PomaceRegistry.sol#62)\n", "markdown": "[PomaceRegistry.testReturnAssetsFromProductId()](test/unit-tests/PomaceRegistry.sol#L61-L76) ignores return value by [pomace.registerAsset(address(weth))](test/unit-tests/PomaceRegistry.sol#L62)\n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L61-L76", "id": "5fec1dbd86bf621c7194f8094d63a50f381dfbad8a8f65290dc5600d7189d0e1", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testReturnOptionDetailsFromTokenId", "source_mapping": {"start": 2383, "length": 812, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "testReturnOptionDetailsFromTokenId()"}}, {"type": "node", "name": "pomace.registerAsset(address(weth))", "source_mapping": {"start": 2551, "length": 35, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [82], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "testReturnOptionDetailsFromTokenId", "source_mapping": {"start": 2383, "length": 812, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}, "signature": "testReturnOptionDetailsFromTokenId()"}}}}], "description": "PomaceRegistry.testReturnOptionDetailsFromTokenId() (test/unit-tests/PomaceRegistry.sol#78-97) ignores return value by pomace.registerAsset(address(weth)) (test/unit-tests/PomaceRegistry.sol#82)\n", "markdown": "[PomaceRegistry.testReturnOptionDetailsFromTokenId()](test/unit-tests/PomaceRegistry.sol#L78-L97) ignores return value by [pomace.registerAsset(address(weth))](test/unit-tests/PomaceRegistry.sol#L82)\n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L78-L97", "id": "426d16d84e93992ff956ae85b4d203e2944bf03c18af91cd3661f2dfacc5ffad", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testCannotRegisterFromNonOwner", "source_mapping": {"start": 3696, "length": 192, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RegisterEngineTest", "source_mapping": {"start": 3264, "length": 1328, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegisterFromNonOwner()"}}, {"type": "node", "name": "pomace.registerEngine(engine1)", "source_mapping": {"start": 3851, "length": 30, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [119], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "testCannotRegisterFromNonOwner", "source_mapping": {"start": 3696, "length": 192, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [116, 117, 118, 119, 120], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RegisterEngineTest", "source_mapping": {"start": 3264, "length": 1328, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegisterFromNonOwner()"}}}}], "description": "RegisterEngineTest.testCannotRegisterFromNonOwner() (test/unit-tests/PomaceRegistry.sol#116-120) ignores return value by pomace.registerEngine(engine1) (test/unit-tests/PomaceRegistry.sol#119)\n", "markdown": "[RegisterEngineTest.testCannotRegisterFromNonOwner()](test/unit-tests/PomaceRegistry.sol#L116-L120) ignores return value by [pomace.registerEngine(engine1)](test/unit-tests/PomaceRegistry.sol#L119)\n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L116-L120", "id": "21b362383e76900410be1ae1174dee5c6d3264f10406662b1eefa74c8326baa4", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testCannotRegistrySameEngineTwice", "source_mapping": {"start": 4077, "length": 201, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RegisterEngineTest", "source_mapping": {"start": 3264, "length": 1328, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegistrySameEngineTwice()"}}, {"type": "node", "name": "pomace.registerEngine(engine1)", "source_mapping": {"start": 4139, "length": 30, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [130], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "testCannotRegistrySameEngineTwice", "source_mapping": {"start": 4077, "length": 201, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RegisterEngineTest", "source_mapping": {"start": 3264, "length": 1328, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegistrySameEngineTwice()"}}}}], "description": "RegisterEngineTest.testCannotRegistrySameEngineTwice() (test/unit-tests/PomaceRegistry.sol#129-133) ignores return value by pomace.registerEngine(engine1) (test/unit-tests/PomaceRegistry.sol#130)\n", "markdown": "[RegisterEngineTest.testCannotRegistrySameEngineTwice()](test/unit-tests/PomaceRegistry.sol#L129-L133) ignores return value by [pomace.registerEngine(engine1)](test/unit-tests/PomaceRegistry.sol#L130)\n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L129-L133", "id": "169c914ff2747c44a856c92bc3c2f81d9d61dde231941b8d2b8d3287b986af82", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testCannotRegistrySameEngineTwice", "source_mapping": {"start": 4077, "length": 201, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RegisterEngineTest", "source_mapping": {"start": 3264, "length": 1328, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegistrySameEngineTwice()"}}, {"type": "node", "name": "pomace.registerEngine(engine1)", "source_mapping": {"start": 4241, "length": 30, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [132], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "testCannotRegistrySameEngineTwice", "source_mapping": {"start": 4077, "length": 201, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [129, 130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RegisterEngineTest", "source_mapping": {"start": 3264, "length": 1328, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotRegistrySameEngineTwice()"}}}}], "description": "RegisterEngineTest.testCannotRegistrySameEngineTwice() (test/unit-tests/PomaceRegistry.sol#129-133) ignores return value by pomace.registerEngine(engine1) (test/unit-tests/PomaceRegistry.sol#132)\n", "markdown": "[RegisterEngineTest.testCannotRegistrySameEngineTwice()](test/unit-tests/PomaceRegistry.sol#L129-L133) ignores return value by [pomace.registerEngine(engine1)](test/unit-tests/PomaceRegistry.sol#L132)\n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L129-L133", "id": "caaaa977a191e4b7b463239e5a2ed85f4a7e67a3417de9ea2052cd6213805e6e", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testReturnEngineFromProductId", "source_mapping": {"start": 4284, "length": 306, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [135, 136, 137, 138, 139, 140, 141, 142, 143], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RegisterEngineTest", "source_mapping": {"start": 3264, "length": 1328, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}, "signature": "testReturnEngineFromProductId()"}}, {"type": "node", "name": "pomace.registerEngine(engine1)", "source_mapping": {"start": 4342, "length": 30, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [136], "starting_column": 9, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "testReturnEngineFromProductId", "source_mapping": {"start": 4284, "length": 306, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [135, 136, 137, 138, 139, 140, 141, 142, 143], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RegisterEngineTest", "source_mapping": {"start": 3264, "length": 1328, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}, "signature": "testReturnEngineFromProductId()"}}}}], "description": "RegisterEngineTest.testReturnEngineFromProductId() (test/unit-tests/PomaceRegistry.sol#135-143) ignores return value by pomace.registerEngine(engine1) (test/unit-tests/PomaceRegistry.sol#136)\n", "markdown": "[RegisterEngineTest.testReturnEngineFromProductId()](test/unit-tests/PomaceRegistry.sol#L135-L143) ignores return value by [pomace.registerEngine(engine1)](test/unit-tests/PomaceRegistry.sol#L136)\n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L135-L143", "id": "689afc470e786c5dd9fd170966fdf58c842211f858042d788160e2ccbedf7393", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 4809, "length": 495, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CollateralizableCoTest", "source_mapping": {"start": 4663, "length": 1610, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 1, "ending_column": 2}}, "signature": "constructor()"}}, {"type": "node", "name": "pomace.registerAsset(address(weth))", "source_mapping": {"start": 5216, "length": 35, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [164], "starting_column": 9, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 4809, "length": 495, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CollateralizableCoTest", "source_mapping": {"start": 4663, "length": 1610, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 1, "ending_column": 2}}, "signature": "constructor()"}}}}], "description": "CollateralizableCoTest.constructor() (test/unit-tests/PomaceRegistry.sol#154-166) ignores return value by pomace.registerAsset(address(weth)) (test/unit-tests/PomaceRegistry.sol#164)\n", "markdown": "[CollateralizableCoTest.constructor()](test/unit-tests/PomaceRegistry.sol#L154-L166) ignores return value by [pomace.registerAsset(address(weth))](test/unit-tests/PomaceRegistry.sol#L164)\n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L154-L166", "id": "4a87107250f9c98f803bf79fd7aca171785e62af51a27341df05abe8ecd1566d", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "constructor", "source_mapping": {"start": 4809, "length": 495, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CollateralizableCoTest", "source_mapping": {"start": 4663, "length": 1610, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 1, "ending_column": 2}}, "signature": "constructor()"}}, {"type": "node", "name": "pomace.registerAsset(address(lseth))", "source_mapping": {"start": 5261, "length": 36, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [165], "starting_column": 9, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "constructor", "source_mapping": {"start": 4809, "length": 495, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "CollateralizableCoTest", "source_mapping": {"start": 4663, "length": 1610, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 1, "ending_column": 2}}, "signature": "constructor()"}}}}], "description": "CollateralizableCoTest.constructor() (test/unit-tests/PomaceRegistry.sol#154-166) ignores return value by pomace.registerAsset(address(lseth)) (test/unit-tests/PomaceRegistry.sol#165)\n", "markdown": "[CollateralizableCoTest.constructor()](test/unit-tests/PomaceRegistry.sol#L154-L166) ignores return value by [pomace.registerAsset(address(lseth))](test/unit-tests/PomaceRegistry.sol#L165)\n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L154-L166", "id": "ab8c7171b22be4ec875530c7af26e9bc7a8f40184a29d17a3a69e28430876810", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setUp", "source_mapping": {"start": 558, "length": 280, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngineFlow", "source_mapping": {"start": 369, "length": 7556, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}, {"type": "node", "name": "usdc.approve(address(engine),type()(uint256).max)", "source_mapping": {"start": 639, "length": 48, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [20], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 558, "length": 280, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngineFlow", "source_mapping": {"start": 369, "length": 7556, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}}], "description": "BaseEngineFlow.setUp() (test/unit-tests/base-engine/BaseEngineFlow.t.sol#18-26) ignores return value by usdc.approve(address(engine),type()(uint256).max) (test/unit-tests/base-engine/BaseEngineFlow.t.sol#20)\n", "markdown": "[BaseEngineFlow.setUp()](test/unit-tests/base-engine/BaseEngineFlow.t.sol#L18-L26) ignores return value by [usdc.approve(address(engine),type()(uint256).max)](test/unit-tests/base-engine/BaseEngineFlow.t.sol#L20)\n", "first_markdown_element": "test/unit-tests/base-engine/BaseEngineFlow.t.sol#L18-L26", "id": "73ca5019fe368fb52d1e5f51e3d6e1a7b8019b1892900299685b258aa2545713", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setUp", "source_mapping": {"start": 558, "length": 280, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngineFlow", "source_mapping": {"start": 369, "length": 7556, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}, {"type": "node", "name": "weth.approve(address(engine),type()(uint256).max)", "source_mapping": {"start": 744, "length": 48, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [23], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 558, "length": 280, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngineFlow", "source_mapping": {"start": 369, "length": 7556, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}}], "description": "BaseEngineFlow.setUp() (test/unit-tests/base-engine/BaseEngineFlow.t.sol#18-26) ignores return value by weth.approve(address(engine),type()(uint256).max) (test/unit-tests/base-engine/BaseEngineFlow.t.sol#23)\n", "markdown": "[BaseEngineFlow.setUp()](test/unit-tests/base-engine/BaseEngineFlow.t.sol#L18-L26) ignores return value by [weth.approve(address(engine),type()(uint256).max)](test/unit-tests/base-engine/BaseEngineFlow.t.sol#L23)\n", "first_markdown_element": "test/unit-tests/base-engine/BaseEngineFlow.t.sol#L18-L26", "id": "d7daddcae80748ac335a57651b2f2a803a03be04f0af713f9fab7ebed691fd70", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testCannotGetSpotWhenAggregatorIsStale", "source_mapping": {"start": 7248, "length": 251, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [212, 213, 214, 215, 216, 217], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotGetSpotWhenAggregatorIsStale()"}}, {"type": "node", "name": "oracle.getSpotPrice(usdc,weth)", "source_mapping": {"start": 7461, "length": 31, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [216], "starting_column": 9, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "testCannotGetSpotWhenAggregatorIsStale", "source_mapping": {"start": 7248, "length": 251, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [212, 213, 214, 215, 216, 217], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotGetSpotWhenAggregatorIsStale()"}}}}], "description": "ChainlinkOracleTest.testCannotGetSpotWhenAggregatorIsStale() (test/unit-tests/oracles/ChainlinkOracle.sol#212-217) ignores return value by oracle.getSpotPrice(usdc,weth) (test/unit-tests/oracles/ChainlinkOracle.sol#216)\n", "markdown": "[ChainlinkOracleTest.testCannotGetSpotWhenAggregatorIsStale()](test/unit-tests/oracles/ChainlinkOracle.sol#L212-L217) ignores return value by [oracle.getSpotPrice(usdc,weth)](test/unit-tests/oracles/ChainlinkOracle.sol#L216)\n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L212-L217", "id": "126713e9c6d2f11a0b88c2478e02120c4c194edf162712b6548321e69c6278f0", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testCannotGetSpotWhenAggregatorIsNotSet", "source_mapping": {"start": 7505, "length": 170, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [219, 220, 221, 222], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotGetSpotWhenAggregatorIsNotSet()"}}, {"type": "node", "name": "oracle.getSpotPrice(usdc,address(1234))", "source_mapping": {"start": 7628, "length": 40, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [221], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "testCannotGetSpotWhenAggregatorIsNotSet", "source_mapping": {"start": 7505, "length": 170, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [219, 220, 221, 222], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotGetSpotWhenAggregatorIsNotSet()"}}}}], "description": "ChainlinkOracleTest.testCannotGetSpotWhenAggregatorIsNotSet() (test/unit-tests/oracles/ChainlinkOracle.sol#219-222) ignores return value by oracle.getSpotPrice(usdc,address(1234)) (test/unit-tests/oracles/ChainlinkOracle.sol#221)\n", "markdown": "[ChainlinkOracleTest.testCannotGetSpotWhenAggregatorIsNotSet()](test/unit-tests/oracles/ChainlinkOracle.sol#L219-L222) ignores return value by [oracle.getSpotPrice(usdc,address(1234))](test/unit-tests/oracles/ChainlinkOracle.sol#L221)\n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L219-L222", "id": "40c8f51432cd3ba5091331c528ab47120b3ae3f9a55099fb4c2a69b19f583c2a", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testCannotGetUnreportedExpiry", "source_mapping": {"start": 9860, "length": 163, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [292, 293, 294, 295], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotGetUnreportedExpiry()"}}, {"type": "node", "name": "oracle.getPriceAtExpiry(weth,usdc,expiry)", "source_mapping": {"start": 9973, "length": 43, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [294], "starting_column": 9, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "testCannotGetUnreportedExpiry", "source_mapping": {"start": 9860, "length": 163, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [292, 293, 294, 295], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "testCannotGetUnreportedExpiry()"}}}}], "description": "ChainlinkOracleTestWriteOracle.testCannotGetUnreportedExpiry() (test/unit-tests/oracles/ChainlinkOracle.sol#292-295) ignores return value by oracle.getPriceAtExpiry(weth,usdc,expiry) (test/unit-tests/oracles/ChainlinkOracle.sol#294)\n", "markdown": "[ChainlinkOracleTestWriteOracle.testCannotGetUnreportedExpiry()](test/unit-tests/oracles/ChainlinkOracle.sol#L292-L295) ignores return value by [oracle.getPriceAtExpiry(weth,usdc,expiry)](test/unit-tests/oracles/ChainlinkOracle.sol#L294)\n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L292-L295", "id": "e58794075b297310272173152a1488760da6cc87f2b0659356fb428bbf7e2bd0", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "oracle", "source_mapping": {"start": 192, "length": 14, "filename_relative": "src/interfaces/IPomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/interfaces/IPomace.sol", "filename_short": "src/interfaces/IPomace.sol", "is_dependency": false, "lines": [8], "starting_column": 46, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "oracle", "source_mapping": {"start": 151, "length": 57, "filename_relative": "src/interfaces/IPomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/interfaces/IPomace.sol", "filename_short": "src/interfaces/IPomace.sol", "is_dependency": false, "lines": [8], "starting_column": 5, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "contract", "name": "IPomace", "source_mapping": {"start": 127, "length": 2616, "filename_relative": "src/interfaces/IPomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/interfaces/IPomace.sol", "filename_short": "src/interfaces/IPomace.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 2}}, "signature": "oracle()"}}}}, {"type": "function", "name": "oracle", "source_mapping": {"start": 151, "length": 57, "filename_relative": "src/interfaces/IPomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/interfaces/IPomace.sol", "filename_short": "src/interfaces/IPomace.sol", "is_dependency": false, "lines": [8], "starting_column": 5, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "contract", "name": "IPomace", "source_mapping": {"start": 127, "length": 2616, "filename_relative": "src/interfaces/IPomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/interfaces/IPomace.sol", "filename_short": "src/interfaces/IPomace.sol", "is_dependency": false, "lines": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 1, "ending_column": 2}}, "signature": "oracle()"}}], "description": "IPomace.oracle().oracle (src/interfaces/IPomace.sol#8) shadows:\n\t- IPomace.oracle() (src/interfaces/IPomace.sol#8) (function)\n", "markdown": "[IPomace.oracle().oracle](src/interfaces/IPomace.sol#L8) shadows:\n\t- [IPomace.oracle()](src/interfaces/IPomace.sol#L8) (function)\n", "first_markdown_element": "src/interfaces/IPomace.sol#L8", "id": "ce177d7067af61961c24dd599b5a4062b65b1239c90fe8db6112d9762c5e5bf0", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "variable", "name": "engine", "source_mapping": {"start": 816, "length": 14, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [25], "starting_column": 10, "ending_column": 24}, "type_specific_fields": {"parent": {"type": "function", "name": "testPayoutETHCollatCall", "source_mapping": {"start": 651, "length": 498, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomacePayoutTest", "source_mapping": {"start": 332, "length": 2290, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "starting_column": 1, "ending_column": 2}}, "signature": "testPayoutETHCollatCall()"}}}}, {"type": "variable", "name": "engine", "source_mapping": {"start": 1215, "length": 34, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [37], "starting_column": 5, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "PomacePayoutTest.testPayoutETHCollatCall().engine (test/integration-tests/PomacePayoutTest.t.sol#25) shadows:\n\t- EngineIntegrationFixture.engine (test/fixtures/EngineIntegrationFixture.t.sol#37) (state variable)\n", "markdown": "[PomacePayoutTest.testPayoutETHCollatCall().engine](test/integration-tests/PomacePayoutTest.t.sol#L25) shadows:\n\t- [EngineIntegrationFixture.engine](test/fixtures/EngineIntegrationFixture.t.sol#L37) (state variable)\n", "first_markdown_element": "test/integration-tests/PomacePayoutTest.t.sol#L25", "id": "ad02a7a558ea6fcbe9d1ebef76ad76024ae63f4968773ca351c6b4619d77638b", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "variable", "name": "engine", "source_mapping": {"start": 1319, "length": 14, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [40], "starting_column": 10, "ending_column": 24}, "type_specific_fields": {"parent": {"type": "function", "name": "testPayoutUSDCollatPut", "source_mapping": {"start": 1155, "length": 497, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomacePayoutTest", "source_mapping": {"start": 332, "length": 2290, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "starting_column": 1, "ending_column": 2}}, "signature": "testPayoutUSDCollatPut()"}}}}, {"type": "variable", "name": "engine", "source_mapping": {"start": 1215, "length": 34, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [37], "starting_column": 5, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "PomacePayoutTest.testPayoutUSDCollatPut().engine (test/integration-tests/PomacePayoutTest.t.sol#40) shadows:\n\t- EngineIntegrationFixture.engine (test/fixtures/EngineIntegrationFixture.t.sol#37) (state variable)\n", "markdown": "[PomacePayoutTest.testPayoutUSDCollatPut().engine](test/integration-tests/PomacePayoutTest.t.sol#L40) shadows:\n\t- [EngineIntegrationFixture.engine](test/fixtures/EngineIntegrationFixture.t.sol#L37) (state variable)\n", "first_markdown_element": "test/integration-tests/PomacePayoutTest.t.sol#L40", "id": "c3fc1eb14d3322df469808ac04c41922b9f724a86160f37513a93217798c50e8", "check": "shadowing-local", "impact": "Low", "confidence": "High"}, {"elements": [{"type": "function", "name": "_getSettlementPrice", "source_mapping": {"start": 20002, "length": 288, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [553, 554, 555, 556, 557], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Pomace", "source_mapping": {"start": 1334, "length": 18958, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.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, 405, 406, 407, 408, 409, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getSettlementPrice(address,address,uint256)"}}, {"type": "node", "name": "(price,isFinalized) = oracle.getPriceAtExpiry(_base,_quote,_expiry)", "source_mapping": {"start": 20121, "length": 83, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [554], "starting_column": 9, "ending_column": 92}, "type_specific_fields": {"parent": {"type": "function", "name": "_getSettlementPrice", "source_mapping": {"start": 20002, "length": 288, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [553, 554, 555, 556, 557], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Pomace", "source_mapping": {"start": 1334, "length": 18958, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.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, 405, 406, 407, 408, 409, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_getSettlementPrice(address,address,uint256)"}}}}], "description": "Pomace._getSettlementPrice(address,address,uint256) (src/core/Pomace.sol#553-557) has external calls inside a loop: (price,isFinalized) = oracle.getPriceAtExpiry(_base,_quote,_expiry) (src/core/Pomace.sol#554)\n", "markdown": "[Pomace._getSettlementPrice(address,address,uint256)](src/core/Pomace.sol#L553-L557) has external calls inside a loop: [(price,isFinalized) = oracle.getPriceAtExpiry(_base,_quote,_expiry)](src/core/Pomace.sol#L554)\n", "first_markdown_element": "src/core/Pomace.sol#L553-L557", "id": "eb431d6404dddf80a9b30f0e27a9baf628532601296a4b8824fb9425b2952c10", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_settleOption", "source_mapping": {"start": 13941, "length": 880, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Pomace", "source_mapping": {"start": 1334, "length": 18958, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.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, 405, 406, 407, 408, 409, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_settleOption(address,uint256,uint256)"}}, {"type": "node", "name": "engine.handleExercise(_tokenId,debt,payout)", "source_mapping": {"start": 14406, "length": 45, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [412], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "_settleOption", "source_mapping": {"start": 13941, "length": 880, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Pomace", "source_mapping": {"start": 1334, "length": 18958, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.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, 405, 406, 407, 408, 409, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_settleOption(address,uint256,uint256)"}}}}], "description": "Pomace._settleOption(address,uint256,uint256) (src/core/Pomace.sol#400-420) has external calls inside a loop: engine.handleExercise(_tokenId,debt,payout) (src/core/Pomace.sol#412)\n", "markdown": "[Pomace._settleOption(address,uint256,uint256)](src/core/Pomace.sol#L400-L420) has external calls inside a loop: [engine.handleExercise(_tokenId,debt,payout)](src/core/Pomace.sol#L412)\n", "first_markdown_element": "src/core/Pomace.sol#L400-L420", "id": "24f7466771c9805cd68b0b0be33ef1f41861587821e44c79cdc560fd53e6e75a", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_settleOption", "source_mapping": {"start": 13941, "length": 880, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Pomace", "source_mapping": {"start": 1334, "length": 18958, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.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, 405, 406, 407, 408, 409, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_settleOption(address,uint256,uint256)"}}, {"type": "node", "name": "engine.receiveDebtValue(assets[debtId].addr,msg.sender,debt)", "source_mapping": {"start": 14522, "length": 62, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [414], "starting_column": 13, "ending_column": 75}, "type_specific_fields": {"parent": {"type": "function", "name": "_settleOption", "source_mapping": {"start": 13941, "length": 880, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Pomace", "source_mapping": {"start": 1334, "length": 18958, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.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, 405, 406, 407, 408, 409, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_settleOption(address,uint256,uint256)"}}}}], "description": "Pomace._settleOption(address,uint256,uint256) (src/core/Pomace.sol#400-420) has external calls inside a loop: engine.receiveDebtValue(assets[debtId].addr,msg.sender,debt) (src/core/Pomace.sol#414)\n", "markdown": "[Pomace._settleOption(address,uint256,uint256)](src/core/Pomace.sol#L400-L420) has external calls inside a loop: [engine.receiveDebtValue(assets[debtId].addr,msg.sender,debt)](src/core/Pomace.sol#L414)\n", "first_markdown_element": "src/core/Pomace.sol#L400-L420", "id": "da7ed66c1e96f5135f72dbd6bb22a8dd6d5e2dc09bbffdf0106bd4b60ce0a804", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_settleOption", "source_mapping": {"start": 13941, "length": 880, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Pomace", "source_mapping": {"start": 1334, "length": 18958, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.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, 405, 406, 407, 408, 409, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_settleOption(address,uint256,uint256)"}}, {"type": "node", "name": "engine.sendPayoutValue(assets[payoutId].addr,_account,payout)", "source_mapping": {"start": 14651, "length": 63, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [416], "starting_column": 13, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "_settleOption", "source_mapping": {"start": 13941, "length": 880, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.sol", "is_dependency": false, "lines": [400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Pomace", "source_mapping": {"start": 1334, "length": 18958, "filename_relative": "src/core/Pomace.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/Pomace.sol", "filename_short": "src/core/Pomace.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, 405, 406, 407, 408, 409, 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], "starting_column": 1, "ending_column": 2}}, "signature": "_settleOption(address,uint256,uint256)"}}}}], "description": "Pomace._settleOption(address,uint256,uint256) (src/core/Pomace.sol#400-420) has external calls inside a loop: engine.sendPayoutValue(assets[payoutId].addr,_account,payout) (src/core/Pomace.sol#416)\n", "markdown": "[Pomace._settleOption(address,uint256,uint256)](src/core/Pomace.sol#L400-L420) has external calls inside a loop: [engine.sendPayoutValue(assets[payoutId].addr,_account,payout)](src/core/Pomace.sol#L416)\n", "first_markdown_element": "src/core/Pomace.sol#L400-L420", "id": "1a82b62de514e36128dfbe6f1bf32f028bdbe302c0fd886e87e0466873796e78", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_addCollateral", "source_mapping": {"start": 6577, "length": 712, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_addCollateral(address,bytes)"}}, {"type": "node", "name": "(collateral) = pomace.assets(collateralId)", "source_mapping": {"start": 7023, "length": 51, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [181], "starting_column": 9, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "_addCollateral", "source_mapping": {"start": 6577, "length": 712, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_addCollateral(address,bytes)"}}}}], "description": "BaseEngine._addCollateral(address,bytes) (src/core/engines/BaseEngine.sol#172-187) has external calls inside a loop: (collateral) = pomace.assets(collateralId) (src/core/engines/BaseEngine.sol#181)\n", "markdown": "[BaseEngine._addCollateral(address,bytes)](src/core/engines/BaseEngine.sol#L172-L187) has external calls inside a loop: [(collateral) = pomace.assets(collateralId)](src/core/engines/BaseEngine.sol#L181)\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L172-L187", "id": "2d4e599e911455d32e03066341563e62d30730c82366427f98eef30f5e907118", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_removeCollateral", "source_mapping": {"start": 7415, "length": 535, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_removeCollateral(address,bytes)"}}, {"type": "node", "name": "(collateral) = pomace.assets(collateralId)", "source_mapping": {"start": 7765, "length": 51, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [200], "starting_column": 9, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "_removeCollateral", "source_mapping": {"start": 7415, "length": 535, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_removeCollateral(address,bytes)"}}}}], "description": "BaseEngine._removeCollateral(address,bytes) (src/core/engines/BaseEngine.sol#193-205) has external calls inside a loop: (collateral) = pomace.assets(collateralId) (src/core/engines/BaseEngine.sol#200)\n", "markdown": "[BaseEngine._removeCollateral(address,bytes)](src/core/engines/BaseEngine.sol#L193-L205) has external calls inside a loop: [(collateral) = pomace.assets(collateralId)](src/core/engines/BaseEngine.sol#L200)\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L193-L205", "id": "8b2376994b0d11666d26360bdba5256a585052087c24896af73fbbfa330d5c7d", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_mintOption", "source_mapping": {"start": 8094, "length": 484, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_mintOption(address,bytes)"}}, {"type": "node", "name": "optionToken.mint(recipient,tokenId,amount)", "source_mapping": {"start": 8527, "length": 44, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [221], "starting_column": 9, "ending_column": 53}, "type_specific_fields": {"parent": {"type": "function", "name": "_mintOption", "source_mapping": {"start": 8094, "length": 484, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_mintOption(address,bytes)"}}}}], "description": "BaseEngine._mintOption(address,bytes) (src/core/engines/BaseEngine.sol#211-222) has external calls inside a loop: optionToken.mint(recipient,tokenId,amount) (src/core/engines/BaseEngine.sol#221)\n", "markdown": "[BaseEngine._mintOption(address,bytes)](src/core/engines/BaseEngine.sol#L211-L222) has external calls inside a loop: [optionToken.mint(recipient,tokenId,amount)](src/core/engines/BaseEngine.sol#L221)\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L211-L222", "id": "7f9b82da87f86c67f1ca5f969d6711058eef6bb02d5537a4a214961c010bc756", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_burnOption", "source_mapping": {"start": 8822, "length": 647, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_burnOption(address,bytes)"}}, {"type": "node", "name": "optionToken.burn(from,tokenId,amount)", "source_mapping": {"start": 9423, "length": 39, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [241], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "_burnOption", "source_mapping": {"start": 8822, "length": 647, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_burnOption(address,bytes)"}}}}], "description": "BaseEngine._burnOption(address,bytes) (src/core/engines/BaseEngine.sol#229-242) has external calls inside a loop: optionToken.burn(from,tokenId,amount) (src/core/engines/BaseEngine.sol#241)\n", "markdown": "[BaseEngine._burnOption(address,bytes)](src/core/engines/BaseEngine.sol#L229-L242) has external calls inside a loop: [optionToken.burn(from,tokenId,amount)](src/core/engines/BaseEngine.sol#L241)\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L229-L242", "id": "e737cacc704afea816c5b77a5a00f16e314df57f53c84f41f24279ef4e491d5f", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_addOption", "source_mapping": {"start": 9632, "length": 767, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_addOption(address,bytes)"}}, {"type": "node", "name": "IERC1155(address(optionToken)).safeTransferFrom(from,address(this),tokenId,amount,)", "source_mapping": {"start": 10303, "length": 89, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [263], "starting_column": 9, "ending_column": 98}, "type_specific_fields": {"parent": {"type": "function", "name": "_addOption", "source_mapping": {"start": 9632, "length": 767, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_addOption(address,bytes)"}}}}], "description": "BaseEngine._addOption(address,bytes) (src/core/engines/BaseEngine.sol#248-264) has external calls inside a loop: IERC1155(address(optionToken)).safeTransferFrom(from,address(this),tokenId,amount,) (src/core/engines/BaseEngine.sol#263)\n", "markdown": "[BaseEngine._addOption(address,bytes)](src/core/engines/BaseEngine.sol#L248-L264) has external calls inside a loop: [IERC1155(address(optionToken)).safeTransferFrom(from,address(this),tokenId,amount,)](src/core/engines/BaseEngine.sol#L263)\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L248-L264", "id": "c6389fd53fb444611f702322033c7c5c979fc7d4652453abc85a4d3726884d66", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_removeOption", "source_mapping": {"start": 10567, "length": 523, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_removeOption(address,bytes)"}}, {"type": "node", "name": "IERC1155(address(optionToken)).safeTransferFrom(address(this),to,tokenId,amount,)", "source_mapping": {"start": 10996, "length": 87, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [280], "starting_column": 9, "ending_column": 96}, "type_specific_fields": {"parent": {"type": "function", "name": "_removeOption", "source_mapping": {"start": 10567, "length": 523, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_removeOption(address,bytes)"}}}}], "description": "BaseEngine._removeOption(address,bytes) (src/core/engines/BaseEngine.sol#270-281) has external calls inside a loop: IERC1155(address(optionToken)).safeTransferFrom(address(this),to,tokenId,amount,) (src/core/engines/BaseEngine.sol#280)\n", "markdown": "[BaseEngine._removeOption(address,bytes)](src/core/engines/BaseEngine.sol#L270-L281) has external calls inside a loop: [IERC1155(address(optionToken)).safeTransferFrom(address(this),to,tokenId,amount,)](src/core/engines/BaseEngine.sol#L280)\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L270-L281", "id": "cf5cfec3093d30f4de654f3e82b08719f6eae42d2d8e53d0b3b05c1c0fd6d256", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setUp", "source_mapping": {"start": 394, "length": 248, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceAccessTest", "source_mapping": {"start": 246, "length": 3468, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}, {"type": "node", "name": "engine.setIsAboveWater(true)", "source_mapping": {"start": 428, "length": 28, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [16], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 394, "length": 248, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceAccessTest", "source_mapping": {"start": 246, "length": 3468, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "usdc.mint(address(this),1000_000 * 1e6)", "source_mapping": {"start": 467, "length": 40, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [18], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 394, "length": 248, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceAccessTest", "source_mapping": {"start": 246, "length": 3468, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "usdc.approve(address(engine),type()(uint256).max)", "source_mapping": {"start": 517, "length": 48, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [19], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 394, "length": 248, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceAccessTest", "source_mapping": {"start": 246, "length": 3468, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "engine.setIsAboveWater(true)", "source_mapping": {"start": 428, "length": 28, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [16], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 394, "length": 248, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceAccessTest", "source_mapping": {"start": 246, "length": 3468, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "usdc.mint(address(this),1000_000 * 1e6)", "source_mapping": {"start": 467, "length": 40, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [18], "starting_column": 9, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 394, "length": 248, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceAccessTest", "source_mapping": {"start": 246, "length": 3468, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "usdc.approve(address(engine),type()(uint256).max)", "source_mapping": {"start": 517, "length": 48, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [19], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 394, "length": 248, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceAccessTest", "source_mapping": {"start": 246, "length": 3468, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "subAccountIdToModify = address(uint160(alice) ^ uint160(1))", "source_mapping": {"start": 576, "length": 59, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 394, "length": 248, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceAccessTest", "source_mapping": {"start": 246, "length": 3468, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "subAccountIdToModify"}}], "description": "Reentrancy in PomaceAccessTest.setUp() (test/unit-tests/PomaceAccess.t.sol#15-22):\n\tExternal calls:\n\t- engine.setIsAboveWater(true) (test/unit-tests/PomaceAccess.t.sol#16)\n\t- usdc.mint(address(this),1000_000 * 1e6) (test/unit-tests/PomaceAccess.t.sol#18)\n\t- usdc.approve(address(engine),type()(uint256).max) (test/unit-tests/PomaceAccess.t.sol#19)\n\tState variables written after the call(s):\n\t- subAccountIdToModify = address(uint160(alice) ^ uint160(1)) (test/unit-tests/PomaceAccess.t.sol#21)\n", "markdown": "Reentrancy in [PomaceAccessTest.setUp()](test/unit-tests/PomaceAccess.t.sol#L15-L22):\n\tExternal calls:\n\t- [engine.setIsAboveWater(true)](test/unit-tests/PomaceAccess.t.sol#L16)\n\t- [usdc.mint(address(this),1000_000 * 1e6)](test/unit-tests/PomaceAccess.t.sol#L18)\n\t- [usdc.approve(address(engine),type()(uint256).max)](test/unit-tests/PomaceAccess.t.sol#L19)\n\tState variables written after the call(s):\n\t- [subAccountIdToModify = address(uint160(alice) ^ uint160(1))](test/unit-tests/PomaceAccess.t.sol#L21)\n", "first_markdown_element": "test/unit-tests/PomaceAccess.t.sol#L15-L22", "id": "5c2a78cab565538a8504ec3c8fbfae833e62e306d06b18704a2a644e7305038e", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setUp", "source_mapping": {"start": 5426, "length": 1231, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}, {"type": "node", "name": "vm.warp(1656680000)", "source_mapping": {"start": 5460, "length": 19, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [164], "starting_column": 9, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 5426, "length": 1231, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "vm.warp(1656680000)", "source_mapping": {"start": 5460, "length": 19, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [164], "starting_column": 9, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 5426, "length": 1231, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "oracle = new ChainlinkOracle(address(this))", "source_mapping": {"start": 5644, "length": 43, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [170], "starting_column": 9, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 5426, "length": 1231, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "oracle"}}, {"type": "node", "name": "random = address(0xaabbff)", "source_mapping": {"start": 5489, "length": 26, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [165], "starting_column": 9, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 5426, "length": 1231, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "random"}}, {"type": "node", "name": "usdAggregatorHighDecimals = new MockChainlinkAggregator(24)", "source_mapping": {"start": 5854, "length": 59, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [176], "starting_column": 9, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 5426, "length": 1231, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "usdAggregatorHighDecimals"}}, {"type": "node", "name": "usdAggregatorLowDecimals = new MockChainlinkAggregator(1)", "source_mapping": {"start": 5923, "length": 57, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [177], "starting_column": 9, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 5426, "length": 1231, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "usdAggregatorLowDecimals"}}, {"type": "node", "name": "usdc = address(new MockERC20(USDC,USDC,6))", "source_mapping": {"start": 5526, "length": 48, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [167], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 5426, "length": 1231, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "usdc"}}, {"type": "node", "name": "usdcAggregator = new MockChainlinkAggregator(8)", "source_mapping": {"start": 5755, "length": 47, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [173], "starting_column": 9, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 5426, "length": 1231, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "usdcAggregator"}}, {"type": "node", "name": "weth = address(new MockERC20(WETH,WETH,18))", "source_mapping": {"start": 5584, "length": 49, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [168], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 5426, "length": 1231, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "weth"}}, {"type": "node", "name": "wethAggregator = new MockChainlinkAggregator(8)", "source_mapping": {"start": 5698, "length": 47, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [172], "starting_column": 9, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 5426, "length": 1231, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 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": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "wethAggregator"}}], "description": "Reentrancy in ChainlinkOracleTest.setUp() (test/unit-tests/oracles/ChainlinkOracle.sol#163-190):\n\tExternal calls:\n\t- vm.warp(1656680000) (test/unit-tests/oracles/ChainlinkOracle.sol#164)\n\tState variables written after the call(s):\n\t- oracle = new ChainlinkOracle(address(this)) (test/unit-tests/oracles/ChainlinkOracle.sol#170)\n\t- random = address(0xaabbff) (test/unit-tests/oracles/ChainlinkOracle.sol#165)\n\t- usdAggregatorHighDecimals = new MockChainlinkAggregator(24) (test/unit-tests/oracles/ChainlinkOracle.sol#176)\n\t- usdAggregatorLowDecimals = new MockChainlinkAggregator(1) (test/unit-tests/oracles/ChainlinkOracle.sol#177)\n\t- usdc = address(new MockERC20(USDC,USDC,6)) (test/unit-tests/oracles/ChainlinkOracle.sol#167)\n\t- usdcAggregator = new MockChainlinkAggregator(8) (test/unit-tests/oracles/ChainlinkOracle.sol#173)\n\t- weth = address(new MockERC20(WETH,WETH,18)) (test/unit-tests/oracles/ChainlinkOracle.sol#168)\n\t- wethAggregator = new MockChainlinkAggregator(8) (test/unit-tests/oracles/ChainlinkOracle.sol#172)\n", "markdown": "Reentrancy in [ChainlinkOracleTest.setUp()](test/unit-tests/oracles/ChainlinkOracle.sol#L163-L190):\n\tExternal calls:\n\t- [vm.warp(1656680000)](test/unit-tests/oracles/ChainlinkOracle.sol#L164)\n\tState variables written after the call(s):\n\t- [oracle = new ChainlinkOracle(address(this))](test/unit-tests/oracles/ChainlinkOracle.sol#L170)\n\t- [random = address(0xaabbff)](test/unit-tests/oracles/ChainlinkOracle.sol#L165)\n\t- [usdAggregatorHighDecimals = new MockChainlinkAggregator(24)](test/unit-tests/oracles/ChainlinkOracle.sol#L176)\n\t- [usdAggregatorLowDecimals = new MockChainlinkAggregator(1)](test/unit-tests/oracles/ChainlinkOracle.sol#L177)\n\t- [usdc = address(new MockERC20(USDC,USDC,6))](test/unit-tests/oracles/ChainlinkOracle.sol#L167)\n\t- [usdcAggregator = new MockChainlinkAggregator(8)](test/unit-tests/oracles/ChainlinkOracle.sol#L173)\n\t- [weth = address(new MockERC20(WETH,WETH,18))](test/unit-tests/oracles/ChainlinkOracle.sol#L168)\n\t- [wethAggregator = new MockChainlinkAggregator(8)](test/unit-tests/oracles/ChainlinkOracle.sol#L172)\n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L163-L190", "id": "53608dffe87ae4d7b9f8d158a83e3d6bdf72b6e672e97a2cfb9f049fa9bcdeba", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setUp", "source_mapping": {"start": 8300, "length": 994, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}, {"type": "node", "name": "vm.warp(1656680000)", "source_mapping": {"start": 8366, "length": 19, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [251], "starting_column": 9, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 8300, "length": 994, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "vm.warp(1656680000)", "source_mapping": {"start": 8366, "length": 19, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [251], "starting_column": 9, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 8300, "length": 994, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "expiry = uint80(block.timestamp - 1200)", "source_mapping": {"start": 8396, "length": 39, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [253], "starting_column": 9, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 8300, "length": 994, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "expiry"}}, {"type": "node", "name": "oracle = new ChainlinkOracle(address(this))", "source_mapping": {"start": 8601, "length": 43, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [260], "starting_column": 9, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 8300, "length": 994, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "oracle"}}, {"type": "node", "name": "random = address(0xaabbff)", "source_mapping": {"start": 8446, "length": 26, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [255], "starting_column": 9, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 8300, "length": 994, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "random"}}, {"type": "node", "name": "usdc = address(new MockERC20(USDC,USDC,6))", "source_mapping": {"start": 8483, "length": 48, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [257], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 8300, "length": 994, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "usdc"}}, {"type": "node", "name": "usdcAggregator = new MockChainlinkAggregator(8)", "source_mapping": {"start": 8712, "length": 47, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [263], "starting_column": 9, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 8300, "length": 994, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "usdcAggregator"}}, {"type": "node", "name": "weth = address(new MockERC20(WETH,WETH,18))", "source_mapping": {"start": 8541, "length": 49, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [258], "starting_column": 9, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 8300, "length": 994, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "weth"}}, {"type": "node", "name": "wethAggregator = new MockChainlinkAggregator(8)", "source_mapping": {"start": 8655, "length": 47, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [262], "starting_column": 9, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "setUp", "source_mapping": {"start": 8300, "length": 994, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}, "signature": "setUp()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "wethAggregator"}}], "description": "Reentrancy in ChainlinkOracleTestWriteOracle.setUp() (test/unit-tests/oracles/ChainlinkOracle.sol#249-276):\n\tExternal calls:\n\t- vm.warp(1656680000) (test/unit-tests/oracles/ChainlinkOracle.sol#251)\n\tState variables written after the call(s):\n\t- expiry = uint80(block.timestamp - 1200) (test/unit-tests/oracles/ChainlinkOracle.sol#253)\n\t- oracle = new ChainlinkOracle(address(this)) (test/unit-tests/oracles/ChainlinkOracle.sol#260)\n\t- random = address(0xaabbff) (test/unit-tests/oracles/ChainlinkOracle.sol#255)\n\t- usdc = address(new MockERC20(USDC,USDC,6)) (test/unit-tests/oracles/ChainlinkOracle.sol#257)\n\t- usdcAggregator = new MockChainlinkAggregator(8) (test/unit-tests/oracles/ChainlinkOracle.sol#263)\n\t- weth = address(new MockERC20(WETH,WETH,18)) (test/unit-tests/oracles/ChainlinkOracle.sol#258)\n\t- wethAggregator = new MockChainlinkAggregator(8) (test/unit-tests/oracles/ChainlinkOracle.sol#262)\n", "markdown": "Reentrancy in [ChainlinkOracleTestWriteOracle.setUp()](test/unit-tests/oracles/ChainlinkOracle.sol#L249-L276):\n\tExternal calls:\n\t- [vm.warp(1656680000)](test/unit-tests/oracles/ChainlinkOracle.sol#L251)\n\tState variables written after the call(s):\n\t- [expiry = uint80(block.timestamp - 1200)](test/unit-tests/oracles/ChainlinkOracle.sol#L253)\n\t- [oracle = new ChainlinkOracle(address(this))](test/unit-tests/oracles/ChainlinkOracle.sol#L260)\n\t- [random = address(0xaabbff)](test/unit-tests/oracles/ChainlinkOracle.sol#L255)\n\t- [usdc = address(new MockERC20(USDC,USDC,6))](test/unit-tests/oracles/ChainlinkOracle.sol#L257)\n\t- [usdcAggregator = new MockChainlinkAggregator(8)](test/unit-tests/oracles/ChainlinkOracle.sol#L263)\n\t- [weth = address(new MockERC20(WETH,WETH,18))](test/unit-tests/oracles/ChainlinkOracle.sol#L258)\n\t- [wethAggregator = new MockChainlinkAggregator(8)](test/unit-tests/oracles/ChainlinkOracle.sol#L262)\n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L249-L276", "id": "ab1211ad464440c02a11dde612a03141a9a6659cc696e0040b736c1a66e1f426", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "testSettlementShouldEmitEvent", "source_mapping": {"start": 7131, "length": 475, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngineFlow", "source_mapping": {"start": 369, "length": 7556, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], "starting_column": 1, "ending_column": 2}}, "signature": "testSettlementShouldEmitEvent()"}}, {"type": "node", "name": "engine.setPayout(amount)", "source_mapping": {"start": 7223, "length": 24, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [190], "starting_column": 9, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettlementShouldEmitEvent", "source_mapping": {"start": 7131, "length": 475, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngineFlow", "source_mapping": {"start": 369, "length": 7556, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], "starting_column": 1, "ending_column": 2}}, "signature": "testSettlementShouldEmitEvent()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "engine.setPayoutCollatId(usdcId)", "source_mapping": {"start": 7257, "length": 32, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [191], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettlementShouldEmitEvent", "source_mapping": {"start": 7131, "length": 475, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngineFlow", "source_mapping": {"start": 369, "length": 7556, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], "starting_column": 1, "ending_column": 2}}, "signature": "testSettlementShouldEmitEvent()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "vm.expectEmit(false,false,false,true,address(engine))", "source_mapping": {"start": 7428, "length": 57, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [197], "starting_column": 9, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettlementShouldEmitEvent", "source_mapping": {"start": 7131, "length": 475, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngineFlow", "source_mapping": {"start": 369, "length": 7556, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], "starting_column": 1, "ending_column": 2}}, "signature": "testSettlementShouldEmitEvent()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "AccountSettledSingle(address(this),usdcId,amount)", "source_mapping": {"start": 7495, "length": 56, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [198], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "testSettlementShouldEmitEvent", "source_mapping": {"start": 7131, "length": 475, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngineFlow", "source_mapping": {"start": 369, "length": 7556, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], "starting_column": 1, "ending_column": 2}}, "signature": "testSettlementShouldEmitEvent()"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in BaseEngineFlow.testSettlementShouldEmitEvent() (test/unit-tests/base-engine/BaseEngineFlow.t.sol#188-200):\n\tExternal calls:\n\t- engine.setPayout(amount) (test/unit-tests/base-engine/BaseEngineFlow.t.sol#190)\n\t- engine.setPayoutCollatId(usdcId) (test/unit-tests/base-engine/BaseEngineFlow.t.sol#191)\n\t- vm.expectEmit(false,false,false,true,address(engine)) (test/unit-tests/base-engine/BaseEngineFlow.t.sol#197)\n\tEvent emitted after the call(s):\n\t- AccountSettledSingle(address(this),usdcId,amount) (test/unit-tests/base-engine/BaseEngineFlow.t.sol#198)\n", "markdown": "Reentrancy in [BaseEngineFlow.testSettlementShouldEmitEvent()](test/unit-tests/base-engine/BaseEngineFlow.t.sol#L188-L200):\n\tExternal calls:\n\t- [engine.setPayout(amount)](test/unit-tests/base-engine/BaseEngineFlow.t.sol#L190)\n\t- [engine.setPayoutCollatId(usdcId)](test/unit-tests/base-engine/BaseEngineFlow.t.sol#L191)\n\t- [vm.expectEmit(false,false,false,true,address(engine))](test/unit-tests/base-engine/BaseEngineFlow.t.sol#L197)\n\tEvent emitted after the call(s):\n\t- [AccountSettledSingle(address(this),usdcId,amount)](test/unit-tests/base-engine/BaseEngineFlow.t.sol#L198)\n", "first_markdown_element": "test/unit-tests/base-engine/BaseEngineFlow.t.sol#L188-L200", "id": "75ba8a8152bebf46b5f69a6e6042cd4d41a162e2624c5c62ec6aeb4fa1eb9066", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createExerciseTokenAction", "source_mapping": {"start": 3420, "length": 202, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [103, 104, 105], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ActionHelper", "source_mapping": {"start": 232, "length": 3680, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "createExerciseTokenAction(uint256,uint256)"}}], "description": "ActionHelper.createExerciseTokenAction(uint256,uint256) (test/shared/ActionHelper.sol#103-105) is never used and should be removed\n", "markdown": "[ActionHelper.createExerciseTokenAction(uint256,uint256)](test/shared/ActionHelper.sol#L103-L105) is never used and should be removed\n", "first_markdown_element": "test/shared/ActionHelper.sol#L103-L105", "id": "2e6b9e15c35f3718cba24802a0ae5f5bc367a56d5b6f605218c67e770f87dd8b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createMintIntoAccountAction", "source_mapping": {"start": 1906, "length": 264, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ActionHelper", "source_mapping": {"start": 232, "length": 3680, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "createMintIntoAccountAction(uint256,address,uint256)"}}], "description": "ActionHelper.createMintIntoAccountAction(uint256,address,uint256) (test/shared/ActionHelper.sol#59-65) is never used and should be removed\n", "markdown": "[ActionHelper.createMintIntoAccountAction(uint256,address,uint256)](test/shared/ActionHelper.sol#L59-L65) is never used and should be removed\n", "first_markdown_element": "test/shared/ActionHelper.sol#L59-L65", "id": "7b7d5099858f87bd21a8913d3baaaaa852d7289e64627ca50d0254fc975060fc", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createTransferCollateralAction", "source_mapping": {"start": 1374, "length": 278, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [43, 44, 45, 46, 47, 48, 49], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ActionHelper", "source_mapping": {"start": 232, "length": 3680, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "createTransferCollateralAction(uint256,uint8,address)"}}], "description": "ActionHelper.createTransferCollateralAction(uint256,uint8,address) (test/shared/ActionHelper.sol#43-49) is never used and should be removed\n", "markdown": "[ActionHelper.createTransferCollateralAction(uint256,uint8,address)](test/shared/ActionHelper.sol#L43-L49) is never used and should be removed\n", "first_markdown_element": "test/shared/ActionHelper.sol#L43-L49", "id": "cf022e6b2cdee32a9ef241debec6d75d8ee95c6819a001456045c65f32cb4e62", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createTransferLongAction", "source_mapping": {"start": 2386, "length": 258, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [71, 72, 73, 74, 75, 76, 77], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ActionHelper", "source_mapping": {"start": 232, "length": 3680, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "createTransferLongAction(uint256,address,uint256)"}}], "description": "ActionHelper.createTransferLongAction(uint256,address,uint256) (test/shared/ActionHelper.sol#71-77) is never used and should be removed\n", "markdown": "[ActionHelper.createTransferLongAction(uint256,address,uint256)](test/shared/ActionHelper.sol#L71-L77) is never used and should be removed\n", "first_markdown_element": "test/shared/ActionHelper.sol#L71-L77", "id": "73238e1b296f7cdbd680dc6eac7eb83f62e961c6126ec43bb3c3005c8c977f3c", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "createTransferShortAction", "source_mapping": {"start": 2650, "length": 260, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [79, 80, 81, 82, 83, 84, 85], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ActionHelper", "source_mapping": {"start": 232, "length": 3680, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "createTransferShortAction(uint256,address,uint256)"}}], "description": "ActionHelper.createTransferShortAction(uint256,address,uint256) (test/shared/ActionHelper.sol#79-85) is never used and should be removed\n", "markdown": "[ActionHelper.createTransferShortAction(uint256,address,uint256)](test/shared/ActionHelper.sol#L79-L85) is never used and should be removed\n", "first_markdown_element": "test/shared/ActionHelper.sol#L79-L85", "id": "c1bb8a94fd66cf7b18a88bd6375f1b5b17ff05176d53564b56c8e80a513adbe9", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "parseTokenId", "source_mapping": {"start": 585, "length": 239, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ActionHelper", "source_mapping": {"start": 232, "length": 3680, "filename_relative": "test/shared/ActionHelper.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/shared/ActionHelper.sol", "filename_short": "test/shared/ActionHelper.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}, "signature": "parseTokenId(uint256)"}}], "description": "ActionHelper.parseTokenId(uint256) (test/shared/ActionHelper.sol#19-25) is never used and should be removed\n", "markdown": "[ActionHelper.parseTokenId(uint256)](test/shared/ActionHelper.sol#L19-L25) is never used and should be removed\n", "first_markdown_element": "test/shared/ActionHelper.sol#L19-L25", "id": "a214320addec2d59ca1e020436c5d4bbf8376226465df850731f3016bff57751", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_checkIsPomace", "source_mapping": {"start": 16098, "length": 109, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [397, 398, 399], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_checkIsPomace()"}}], "description": "BaseEngine._checkIsPomace() (src/core/engines/BaseEngine.sol#397-399) is never used and should be removed\n", "markdown": "[BaseEngine._checkIsPomace()](src/core/engines/BaseEngine.sol#L397-L399) is never used and should be removed\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L397-L399", "id": "88ebca4528a227164458b635e95475fda4d0d6c4fe4eb885d5f6db7ab6650ace", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_exerciseToken", "source_mapping": {"start": 11257, "length": 325, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [287, 288, 289, 290, 291, 292, 293, 294], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_exerciseToken(address,bytes)"}}], "description": "BaseEngine._exerciseToken(address,bytes) (src/core/engines/BaseEngine.sol#287-294) is never used and should be removed\n", "markdown": "[BaseEngine._exerciseToken(address,bytes)](src/core/engines/BaseEngine.sol#L287-L294) is never used and should be removed\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L287-L294", "id": "2fbf254b2d113b6ae2cbb43037e6a48aadf93d1dd3aee842ffd085f3cbafcf4d", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_exerciseTokenInAccount", "source_mapping": {"start": 13302, "length": 105, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [331], "starting_column": 5, "ending_column": 110}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_exerciseTokenInAccount(address,uint256,uint64)"}}], "description": "BaseEngine._exerciseTokenInAccount(address,uint256,uint64) (src/core/engines/BaseEngine.sol#331) is never used and should be removed\n", "markdown": "[BaseEngine._exerciseTokenInAccount(address,uint256,uint64)](src/core/engines/BaseEngine.sol#L331) is never used and should be removed\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L331", "id": "771e7f34ba9fcaf6c7d69f7881f2f3986bfdfcb72cd5008d7b36addbe4eb0791", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getAccountPayout", "source_mapping": {"start": 14157, "length": 115, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [349], "starting_column": 5, "ending_column": 120}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_getAccountPayout(address)"}}], "description": "BaseEngine._getAccountPayout(address) (src/core/engines/BaseEngine.sol#349) is never used and should be removed\n", "markdown": "[BaseEngine._getAccountPayout(address)](src/core/engines/BaseEngine.sol#L349) is never used and should be removed\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L349", "id": "0a8d3a7f91d5d4a1b845af65eec575adc8837bdf5cff22d854bd259b8570747f", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_isAccountAboveWater", "source_mapping": {"start": 14507, "length": 90, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [356], "starting_column": 5, "ending_column": 95}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_isAccountAboveWater(address)"}}], "description": "BaseEngine._isAccountAboveWater(address) (src/core/engines/BaseEngine.sol#356) is never used and should be removed\n", "markdown": "[BaseEngine._isAccountAboveWater(address)](src/core/engines/BaseEngine.sol#L356) is never used and should be removed\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L356", "id": "effdda5fe3109ed75f9bd3fb43307d581368599b2e388186dec1e9e99a6922f1", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_receiveDebtValue", "source_mapping": {"start": 4522, "length": 232, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [119, 120, 121, 122, 123], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_receiveDebtValue(address,address,uint256)"}}], "description": "BaseEngine._receiveDebtValue(address,address,uint256) (src/core/engines/BaseEngine.sol#119-123) is never used and should be removed\n", "markdown": "[BaseEngine._receiveDebtValue(address,address,uint256)](src/core/engines/BaseEngine.sol#L119-L123) is never used and should be removed\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L119-L123", "id": "59f7dfef4c87f8265320bf54dd14592240e57ee4194b3f34c446db637777ff2b", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_sendPayoutValue", "source_mapping": {"start": 5006, "length": 221, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngine", "source_mapping": {"start": 849, "length": 15360, "filename_relative": "src/core/engines/BaseEngine.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/BaseEngine.sol", "filename_short": "src/core/engines/BaseEngine.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400], "starting_column": 1, "ending_column": 2}}, "signature": "_sendPayoutValue(address,address,uint256)"}}], "description": "BaseEngine._sendPayoutValue(address,address,uint256) (src/core/engines/BaseEngine.sol#132-136) is never used and should be removed\n", "markdown": "[BaseEngine._sendPayoutValue(address,address,uint256)](src/core/engines/BaseEngine.sol#L132-L136) is never used and should be removed\n", "first_markdown_element": "src/core/engines/BaseEngine.sol#L132-L136", "id": "8630c1e44bd133554a02209fef285cad3e3219805acb347e84d93bd83be98115", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_mintOptionIntoAccount", "source_mapping": {"start": 2915, "length": 740, "filename_relative": "src/core/engines/mixins/OptionTransferable.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/mixins/OptionTransferable.sol", "filename_short": "src/core/engines/mixins/OptionTransferable.sol", "is_dependency": false, "lines": [80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptionTransferable", "source_mapping": {"start": 501, "length": 3156, "filename_relative": "src/core/engines/mixins/OptionTransferable.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/mixins/OptionTransferable.sol", "filename_short": "src/core/engines/mixins/OptionTransferable.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 1, "ending_column": 2}}, "signature": "_mintOptionIntoAccount(address,bytes)"}}], "description": "OptionTransferable._mintOptionIntoAccount(address,bytes) (src/core/engines/mixins/OptionTransferable.sol#80-98) is never used and should be removed\n", "markdown": "[OptionTransferable._mintOptionIntoAccount(address,bytes)](src/core/engines/mixins/OptionTransferable.sol#L80-L98) is never used and should be removed\n", "first_markdown_element": "src/core/engines/mixins/OptionTransferable.sol#L80-L98", "id": "5a1fabe67636a3d22ec8010ea5741c559cc497f5d73cbce9a68ee61d8fe10358", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_transferCollateral", "source_mapping": {"start": 890, "length": 476, "filename_relative": "src/core/engines/mixins/OptionTransferable.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/mixins/OptionTransferable.sol", "filename_short": "src/core/engines/mixins/OptionTransferable.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptionTransferable", "source_mapping": {"start": 501, "length": 3156, "filename_relative": "src/core/engines/mixins/OptionTransferable.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/mixins/OptionTransferable.sol", "filename_short": "src/core/engines/mixins/OptionTransferable.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 1, "ending_column": 2}}, "signature": "_transferCollateral(address,bytes)"}}], "description": "OptionTransferable._transferCollateral(address,bytes) (src/core/engines/mixins/OptionTransferable.sol#29-38) is never used and should be removed\n", "markdown": "[OptionTransferable._transferCollateral(address,bytes)](src/core/engines/mixins/OptionTransferable.sol#L29-L38) is never used and should be removed\n", "first_markdown_element": "src/core/engines/mixins/OptionTransferable.sol#L29-L38", "id": "ef869d590395c6ed096d8a8f7f49cbc48833b623997fa4a000b2dafbd2694331", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_transferLong", "source_mapping": {"start": 2218, "length": 456, "filename_relative": "src/core/engines/mixins/OptionTransferable.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/mixins/OptionTransferable.sol", "filename_short": "src/core/engines/mixins/OptionTransferable.sol", "is_dependency": false, "lines": [63, 64, 65, 66, 67, 68, 69, 70, 71, 72], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptionTransferable", "source_mapping": {"start": 501, "length": 3156, "filename_relative": "src/core/engines/mixins/OptionTransferable.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/mixins/OptionTransferable.sol", "filename_short": "src/core/engines/mixins/OptionTransferable.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 1, "ending_column": 2}}, "signature": "_transferLong(address,bytes)"}}], "description": "OptionTransferable._transferLong(address,bytes) (src/core/engines/mixins/OptionTransferable.sol#63-72) is never used and should be removed\n", "markdown": "[OptionTransferable._transferLong(address,bytes)](src/core/engines/mixins/OptionTransferable.sol#L63-L72) is never used and should be removed\n", "first_markdown_element": "src/core/engines/mixins/OptionTransferable.sol#L63-L72", "id": "87cd0309f273db5d4dff308ab28a3d0761d57a5cfc471307f78b615c25809924", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_transferShort", "source_mapping": {"start": 1509, "length": 567, "filename_relative": "src/core/engines/mixins/OptionTransferable.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/mixins/OptionTransferable.sol", "filename_short": "src/core/engines/mixins/OptionTransferable.sol", "is_dependency": false, "lines": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptionTransferable", "source_mapping": {"start": 501, "length": 3156, "filename_relative": "src/core/engines/mixins/OptionTransferable.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/engines/mixins/OptionTransferable.sol", "filename_short": "src/core/engines/mixins/OptionTransferable.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "starting_column": 1, "ending_column": 2}}, "signature": "_transferShort(address,bytes)"}}], "description": "OptionTransferable._transferShort(address,bytes) (src/core/engines/mixins/OptionTransferable.sol#44-57) is never used and should be removed\n", "markdown": "[OptionTransferable._transferShort(address,bytes)](src/core/engines/mixins/OptionTransferable.sol#L44-L57) is never used and should be removed\n", "first_markdown_element": "src/core/engines/mixins/OptionTransferable.sol#L44-L57", "id": "fe801974efd3ad5e4a61415f7714c3a48bb32a74d44d6c4c87c734d855a23521", "check": "dead-code", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "contract", "name": "MockTokenDescriptorV2", "source_mapping": {"start": 334, "length": 645, "filename_relative": "test/mocks/MockPhysicalOptionTokenDescriptorV2.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/mocks/MockPhysicalOptionTokenDescriptorV2.sol", "filename_short": "test/mocks/MockPhysicalOptionTokenDescriptorV2.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32], "starting_column": 1, "ending_column": 2}}, {"type": "contract", "name": "IPhysicalOptionTokenDescriptor", "source_mapping": {"start": 89, "length": 122, "filename_relative": "src/interfaces/IPhysicalOptionTokenDescriptor.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/interfaces/IPhysicalOptionTokenDescriptor.sol", "filename_short": "src/interfaces/IPhysicalOptionTokenDescriptor.sol", "is_dependency": false, "lines": [5, 6, 7], "starting_column": 1, "ending_column": 2}}], "description": "MockTokenDescriptorV2 (test/mocks/MockPhysicalOptionTokenDescriptorV2.sol#13-32) should inherit from IPhysicalOptionTokenDescriptor (src/interfaces/IPhysicalOptionTokenDescriptor.sol#5-7)\n", "markdown": "[MockTokenDescriptorV2](test/mocks/MockPhysicalOptionTokenDescriptorV2.sol#L13-L32) should inherit from [IPhysicalOptionTokenDescriptor](src/interfaces/IPhysicalOptionTokenDescriptor.sol#L5-L7)\n", "first_markdown_element": "test/mocks/MockPhysicalOptionTokenDescriptorV2.sol#L13-L32", "id": "bf0e5e5ad631b1e3f4831f6db91b8a8fbee9ce93e9fc1b1041bc8796e44fdcba", "check": "missing-inheritance", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_aggregator", "source_mapping": {"start": 5058, "length": 19, "filename_relative": "src/core/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/oracles/ChainlinkOracle.sol", "filename_short": "src/core/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [130], "starting_column": 44, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "setAggregator", "source_mapping": {"start": 5019, "length": 275, "filename_relative": "src/core/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/oracles/ChainlinkOracle.sol", "filename_short": "src/core/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [130, 131, 132, 133], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracle", "source_mapping": {"start": 573, "length": 8353, "filename_relative": "src/core/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/oracles/ChainlinkOracle.sol", "filename_short": "src/core/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217], "starting_column": 1, "ending_column": 2}}, "signature": "setAggregator(address,address,uint32,bool)"}}}}, {"type": "variable", "name": "aggregators", "source_mapping": {"start": 1179, "length": 53, "filename_relative": "src/core/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/oracles/ChainlinkOracle.sol", "filename_short": "src/core/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracle", "source_mapping": {"start": 573, "length": 8353, "filename_relative": "src/core/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/src/core/oracles/ChainlinkOracle.sol", "filename_short": "src/core/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable ChainlinkOracle.setAggregator(address,address,uint32,bool)._aggregator (src/core/oracles/ChainlinkOracle.sol#130) is too similar to ChainlinkOracle.aggregators (src/core/oracles/ChainlinkOracle.sol#42)\n", "markdown": "Variable [ChainlinkOracle.setAggregator(address,address,uint32,bool)._aggregator](src/core/oracles/ChainlinkOracle.sol#L130) is too similar to [ChainlinkOracle.aggregators](src/core/oracles/ChainlinkOracle.sol#L42)\n", "first_markdown_element": "src/core/oracles/ChainlinkOracle.sol#L130", "id": "e1b4dc794fa83e72db573cec9c74e94f8092618aad00fdc8a1d6dc41b36216fe", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "oracleId", "source_mapping": {"start": 1341, "length": 23, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [44], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "PomacePayoutTest", "source_mapping": {"start": 332, "length": 2290, "filename_relative": "test/integration-tests/PomacePayoutTest.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomacePayoutTest.t.sol", "filename_short": "test/integration-tests/PomacePayoutTest.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77], "starting_column": 1, "ending_column": 2}}], "description": "EngineIntegrationFixture.oracleId (test/fixtures/EngineIntegrationFixture.t.sol#44) is never used in PomacePayoutTest (test/integration-tests/PomacePayoutTest.t.sol#13-77)\n", "markdown": "[EngineIntegrationFixture.oracleId](test/fixtures/EngineIntegrationFixture.t.sol#L44) is never used in [PomacePayoutTest](test/integration-tests/PomacePayoutTest.t.sol#L13-L77)\n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L44", "id": "c6aa7e5d10bd49628e5a9f9c5bfa186bfcaeaea91f079f8c6a84f6b1389952f8", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oracleId", "source_mapping": {"start": 1341, "length": 23, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [44], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "PomaceSettlementTest", "source_mapping": {"start": 510, "length": 7430, "filename_relative": "test/integration-tests/PomaceSettlement.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/integration-tests/PomaceSettlement.t.sol", "filename_short": "test/integration-tests/PomaceSettlement.t.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210], "starting_column": 1, "ending_column": 2}}], "description": "EngineIntegrationFixture.oracleId (test/fixtures/EngineIntegrationFixture.t.sol#44) is never used in PomaceSettlementTest (test/integration-tests/PomaceSettlement.t.sol#17-210)\n", "markdown": "[EngineIntegrationFixture.oracleId](test/fixtures/EngineIntegrationFixture.t.sol#L44) is never used in [PomaceSettlementTest](test/integration-tests/PomaceSettlement.t.sol#L17-L210)\n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L44", "id": "fef0fc6b995bfd9e4f577a57f86b8a719bd54bb2baca9fa622870db18dccc1fb", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "aggregatorUint", "source_mapping": {"start": 7805, "length": 36, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [229], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}], "description": "ChainlinkOracleTestWriteOracle.aggregatorUint (test/unit-tests/oracles/ChainlinkOracle.sol#229) is never used in ChainlinkOracleTestWriteOracle (test/unit-tests/oracles/ChainlinkOracle.sol#228-344)\n", "markdown": "[ChainlinkOracleTestWriteOracle.aggregatorUint](test/unit-tests/oracles/ChainlinkOracle.sol#L229) is never used in [ChainlinkOracleTestWriteOracle](test/unit-tests/oracles/ChainlinkOracle.sol#L228-L344)\n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L229", "id": "c81866b63ba9399c5780100f6d2222527878372dde366e210633df5d3b5e9572", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "random", "source_mapping": {"start": 424, "length": 39, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [14], "starting_column": 5, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "contract", "name": "BaseEngineFlow", "source_mapping": {"start": 369, "length": 7556, "filename_relative": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/BaseEngineFlow.t.sol", "filename_short": "test/unit-tests/base-engine/BaseEngineFlow.t.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208], "starting_column": 1, "ending_column": 2}}}}], "description": "BaseEngineFlow.random (test/unit-tests/base-engine/BaseEngineFlow.t.sol#14) should be constant \n", "markdown": "[BaseEngineFlow.random](test/unit-tests/base-engine/BaseEngineFlow.t.sol#L14) should be constant \n", "first_markdown_element": "test/unit-tests/base-engine/BaseEngineFlow.t.sol#L14", "id": "da2bb0ab37684121c7488a4b3ec42deb8a8ee0521ff252820f8be96688d579b0", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "roundId", "source_mapping": {"start": 847, "length": 26, "filename_relative": "test/unit-tests/oracles/ChainlinkOracleDisputable.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracleDisputable.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracleDisputable.sol", "is_dependency": false, "lines": [31], "starting_column": 5, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleDisputableTest", "source_mapping": {"start": 636, "length": 4670, "filename_relative": "test/unit-tests/oracles/ChainlinkOracleDisputable.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracleDisputable.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracleDisputable.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155], "starting_column": 1, "ending_column": 2}}}}], "description": "ChainlinkOracleDisputableTest.roundId (test/unit-tests/oracles/ChainlinkOracleDisputable.sol#31) should be constant \n", "markdown": "[ChainlinkOracleDisputableTest.roundId](test/unit-tests/oracles/ChainlinkOracleDisputable.sol#L31) should be constant \n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracleDisputable.sol#L31", "id": "51c2c212c13b330f14cef496fcf861ad46797e449f649ba887fcb6db24e7337b", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "aggregatorUint", "source_mapping": {"start": 4921, "length": 36, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [145], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}}}], "description": "ChainlinkOracleTest.aggregatorUint (test/unit-tests/oracles/ChainlinkOracle.sol#145) should be constant \n", "markdown": "[ChainlinkOracleTest.aggregatorUint](test/unit-tests/oracles/ChainlinkOracle.sol#L145) should be constant \n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L145", "id": "2aad723dd65d9e6689d6d6bfe14817c68a291922cc3bb9e6f34dc263ca468e21", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "usd1", "source_mapping": {"start": 5216, "length": 36, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [158], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}}}], "description": "ChainlinkOracleTest.usd1 (test/unit-tests/oracles/ChainlinkOracle.sol#158) should be constant \n", "markdown": "[ChainlinkOracleTest.usd1](test/unit-tests/oracles/ChainlinkOracle.sol#L158) should be constant \n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L158", "id": "7945b513a06b0e1ed5c63a8a1e636020e71900c7d60652ca5aa6ca6009961e02", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "usd2", "source_mapping": {"start": 5258, "length": 36, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [159], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTest", "source_mapping": {"start": 4878, "length": 2799, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 1, "ending_column": 2}}}}], "description": "ChainlinkOracleTest.usd2 (test/unit-tests/oracles/ChainlinkOracle.sol#159) should be constant \n", "markdown": "[ChainlinkOracleTest.usd2](test/unit-tests/oracles/ChainlinkOracle.sol#L159) should be constant \n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L159", "id": "2204b20651f21bd20fbe29bd02d4dd6aec98a066d7cadbc91e3a7f29bd44e41d", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "aggregatorUint", "source_mapping": {"start": 7805, "length": 36, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [229], "starting_column": 5, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}}}], "description": "ChainlinkOracleTestWriteOracle.aggregatorUint (test/unit-tests/oracles/ChainlinkOracle.sol#229) should be constant \n", "markdown": "[ChainlinkOracleTestWriteOracle.aggregatorUint](test/unit-tests/oracles/ChainlinkOracle.sol#L229) should be constant \n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L229", "id": "026f94f3bb727e740020ab5cc70119eda8bc70e8fb7b0b695400ab52a57ff0e7", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "usdcRoundIdToReport", "source_mapping": {"start": 8250, "length": 43, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [247], "starting_column": 5, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}}}], "description": "ChainlinkOracleTestWriteOracle.usdcRoundIdToReport (test/unit-tests/oracles/ChainlinkOracle.sol#247) should be constant \n", "markdown": "[ChainlinkOracleTestWriteOracle.usdcRoundIdToReport](test/unit-tests/oracles/ChainlinkOracle.sol#L247) should be constant \n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L247", "id": "e23bd646205ff780ac209e34f053c9269f74d675dc3fb2d0af960b1692672d66", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "wethRoundIdToReport", "source_mapping": {"start": 8201, "length": 43, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [246], "starting_column": 5, "ending_column": 48}, "type_specific_fields": {"parent": {"type": "contract", "name": "ChainlinkOracleTestWriteOracle", "source_mapping": {"start": 7751, "length": 4655, "filename_relative": "test/unit-tests/oracles/ChainlinkOracle.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/oracles/ChainlinkOracle.sol", "filename_short": "test/unit-tests/oracles/ChainlinkOracle.sol", "is_dependency": false, "lines": [228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "starting_column": 1, "ending_column": 2}}}}], "description": "ChainlinkOracleTestWriteOracle.wethRoundIdToReport (test/unit-tests/oracles/ChainlinkOracle.sol#246) should be constant \n", "markdown": "[ChainlinkOracleTestWriteOracle.wethRoundIdToReport](test/unit-tests/oracles/ChainlinkOracle.sol#L246) should be constant \n", "first_markdown_element": "test/unit-tests/oracles/ChainlinkOracle.sol#L246", "id": "9604226b7d0c6ff1e96d65b23fad645255bc5abeffad69765dc0ffa69336c199", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oracleId", "source_mapping": {"start": 1341, "length": 23, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [44], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.oracleId (test/fixtures/EngineIntegrationFixture.t.sol#44) should be constant \n", "markdown": "[EngineIntegrationFixture.oracleId](test/fixtures/EngineIntegrationFixture.t.sol#L44) should be constant \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L44", "id": "0312346495d91316659377e1f79b1f6732dd44d5cf7e623ce9564d6c9cfb7c97", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "depositAmount", "source_mapping": {"start": 303, "length": 41, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [11], "starting_column": 5, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceAccessTest", "source_mapping": {"start": 246, "length": 3468, "filename_relative": "test/unit-tests/PomaceAccess.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceAccess.t.sol", "filename_short": "test/unit-tests/PomaceAccess.t.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "starting_column": 1, "ending_column": 2}}}}], "description": "PomaceAccessTest.depositAmount (test/unit-tests/PomaceAccess.t.sol#11) should be constant \n", "markdown": "[PomaceAccessTest.depositAmount](test/unit-tests/PomaceAccess.t.sol#L11) should be constant \n", "first_markdown_element": "test/unit-tests/PomaceAccess.t.sol#L11", "id": "7c07cbb3e5764c8d087f18801b4dbf5182b6c8b807a4057056f0ddfd7a6ddd44", "check": "constable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "lseth", "source_mapping": {"start": 4761, "length": 21, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [152], "starting_column": 5, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "contract", "name": "CollateralizableCoTest", "source_mapping": {"start": 4663, "length": 1610, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 1, "ending_column": 2}}}}], "description": "CollateralizableCoTest.lseth (test/unit-tests/PomaceRegistry.sol#152) should be immutable \n", "markdown": "[CollateralizableCoTest.lseth](test/unit-tests/PomaceRegistry.sol#L152) should be immutable \n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L152", "id": "37b22d7b01c43a277ebed2bd2453038c342d77bd7aff8b8382340932195e1fe8", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "pomace", "source_mapping": {"start": 4709, "length": 20, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [150], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "CollateralizableCoTest", "source_mapping": {"start": 4663, "length": 1610, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 1, "ending_column": 2}}}}], "description": "CollateralizableCoTest.pomace (test/unit-tests/PomaceRegistry.sol#150) should be immutable \n", "markdown": "[CollateralizableCoTest.pomace](test/unit-tests/PomaceRegistry.sol#L150) should be immutable \n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L150", "id": "f783a42eaa2276861833072d71d421601cebc0a3157842cfd463a3e8ad51e447", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "weth", "source_mapping": {"start": 4735, "length": 20, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [151], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "CollateralizableCoTest", "source_mapping": {"start": 4663, "length": 1610, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 1, "ending_column": 2}}}}], "description": "CollateralizableCoTest.weth (test/unit-tests/PomaceRegistry.sol#151) should be immutable \n", "markdown": "[CollateralizableCoTest.weth](test/unit-tests/PomaceRegistry.sol#L151) should be immutable \n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L151", "id": "f73286a001506b919277297f4150d1f61ad106c64560816c33918a3ea9067d45", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "engine", "source_mapping": {"start": 1215, "length": 34, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [37], "starting_column": 5, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.engine (test/fixtures/EngineIntegrationFixture.t.sol#37) should be immutable \n", "markdown": "[EngineIntegrationFixture.engine](test/fixtures/EngineIntegrationFixture.t.sol#L37) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L37", "id": "51e87d5bc89c0890c49eb8a2e91eaf533f796e1d8ad06d6a850c18c4fc972ccc", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "engineId", "source_mapping": {"start": 1311, "length": 23, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [42], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.engineId (test/fixtures/EngineIntegrationFixture.t.sol#42) should be immutable \n", "markdown": "[EngineIntegrationFixture.engineId](test/fixtures/EngineIntegrationFixture.t.sol#L42) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L42", "id": "838319655c523add6a8fa3f249b4da80e9547aa1bbe6a4f667a469650ad621f8", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "expiry", "source_mapping": {"start": 1454, "length": 22, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [49], "starting_column": 5, "ending_column": 27}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.expiry (test/fixtures/EngineIntegrationFixture.t.sol#49) should be immutable \n", "markdown": "[EngineIntegrationFixture.expiry](test/fixtures/EngineIntegrationFixture.t.sol#L49) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L49", "id": "12ffe334a4dccf04b4d28e8771eb9a84ec9ea1a459fd56cdf4694ce333bea7f5", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "expiryWindow", "source_mapping": {"start": 1482, "length": 28, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [50], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.expiryWindow (test/fixtures/EngineIntegrationFixture.t.sol#50) should be immutable \n", "markdown": "[EngineIntegrationFixture.expiryWindow](test/fixtures/EngineIntegrationFixture.t.sol#L50) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L50", "id": "e025c81191882d27d0b23a2e4ca10f48fcd68317a2241e59d73b15f346b5ceae", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "implementation", "source_mapping": {"start": 1022, "length": 28, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [29], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.implementation (test/fixtures/EngineIntegrationFixture.t.sol#29) should be immutable \n", "markdown": "[EngineIntegrationFixture.implementation](test/fixtures/EngineIntegrationFixture.t.sol#L29) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L29", "id": "b57f57bbe58bb0a0b8602a0931c0404e81752ec3c9588f6e35163796840304e2", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "option", "source_mapping": {"start": 1141, "length": 35, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [34], "starting_column": 5, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.option (test/fixtures/EngineIntegrationFixture.t.sol#34) should be immutable \n", "markdown": "[EngineIntegrationFixture.option](test/fixtures/EngineIntegrationFixture.t.sol#L34) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L34", "id": "56aa7330985c719ca2840b732454e79e580f537a8eb86ff5eaa09dcc2245fb12", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oracle", "source_mapping": {"start": 1183, "length": 26, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [36], "starting_column": 5, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.oracle (test/fixtures/EngineIntegrationFixture.t.sol#36) should be immutable \n", "markdown": "[EngineIntegrationFixture.oracle](test/fixtures/EngineIntegrationFixture.t.sol#L36) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L36", "id": "71c6ad7ce9e55cfca43144fe4947921343840788147b3bb39215fa68d101182d", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "pomace", "source_mapping": {"start": 1056, "length": 20, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [30], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.pomace (test/fixtures/EngineIntegrationFixture.t.sol#30) should be immutable \n", "markdown": "[EngineIntegrationFixture.pomace](test/fixtures/EngineIntegrationFixture.t.sol#L30) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L30", "id": "3a9b6969f809efb4ecf0b0b6361eade21887c4c46d461e2b0d764642d4cd8457", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "usdc", "source_mapping": {"start": 1111, "length": 23, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.usdc (test/fixtures/EngineIntegrationFixture.t.sol#32) should be immutable \n", "markdown": "[EngineIntegrationFixture.usdc](test/fixtures/EngineIntegrationFixture.t.sol#L32) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L32", "id": "1928eec1b2b0f1e27d7c41da3cc6621566dd4103d54e817ee3165b3235f4d53f", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "usdcCollatProductId", "source_mapping": {"start": 1412, "length": 35, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [47], "starting_column": 5, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.usdcCollatProductId (test/fixtures/EngineIntegrationFixture.t.sol#47) should be immutable \n", "markdown": "[EngineIntegrationFixture.usdcCollatProductId](test/fixtures/EngineIntegrationFixture.t.sol#L47) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L47", "id": "a8d9c5e86752a1ee485749bdfb3dc88892ae78da8c51f04856167868d51cf536", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "usdcId", "source_mapping": {"start": 1283, "length": 21, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [40], "starting_column": 5, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.usdcId (test/fixtures/EngineIntegrationFixture.t.sol#40) should be immutable \n", "markdown": "[EngineIntegrationFixture.usdcId](test/fixtures/EngineIntegrationFixture.t.sol#L40) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L40", "id": "69d9ba67e3361a9408c51d41961f93a393b08ddd459dfdf0ffd031da1670fcbe", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "weth", "source_mapping": {"start": 1082, "length": 23, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [31], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.weth (test/fixtures/EngineIntegrationFixture.t.sol#31) should be immutable \n", "markdown": "[EngineIntegrationFixture.weth](test/fixtures/EngineIntegrationFixture.t.sol#L31) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L31", "id": "21aa05913886b0398b15b7eedf2a0881b443e2635cb98bbc8b65aee241183e5c", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "wethCollatProductId", "source_mapping": {"start": 1371, "length": 35, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [46], "starting_column": 5, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.wethCollatProductId (test/fixtures/EngineIntegrationFixture.t.sol#46) should be immutable \n", "markdown": "[EngineIntegrationFixture.wethCollatProductId](test/fixtures/EngineIntegrationFixture.t.sol#L46) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L46", "id": "4cde3072db8e465083eb8e76e174325fb1b2274e37d351282c70627b3b3490fe", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "wethId", "source_mapping": {"start": 1256, "length": 21, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.sol", "is_dependency": false, "lines": [39], "starting_column": 5, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "contract", "name": "EngineIntegrationFixture", "source_mapping": {"start": 954, "length": 3075, "filename_relative": "test/fixtures/EngineIntegrationFixture.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/fixtures/EngineIntegrationFixture.t.sol", "filename_short": "test/fixtures/EngineIntegrationFixture.t.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], "starting_column": 1, "ending_column": 2}}}}], "description": "EngineIntegrationFixture.wethId (test/fixtures/EngineIntegrationFixture.t.sol#39) should be immutable \n", "markdown": "[EngineIntegrationFixture.wethId](test/fixtures/EngineIntegrationFixture.t.sol#L39) should be immutable \n", "first_markdown_element": "test/fixtures/EngineIntegrationFixture.t.sol#L39", "id": "c32882e79a0ab9fcbef9812c40ed258cf7e68632a7436b341c7db22309d7692a", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "alice", "source_mapping": {"start": 830, "length": 22, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 27}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.alice (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#32) should be immutable \n", "markdown": "[MockedBaseEngineSetup.alice](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L32) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L32", "id": "8d9c14b01322a887a917af3b4321bf12cdef0d060d375b6ed6254c3f8931617f", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "engine", "source_mapping": {"start": 632, "length": 30, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [23], "starting_column": 5, "ending_column": 35}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.engine (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#23) should be immutable \n", "markdown": "[MockedBaseEngineSetup.engine](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L23) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L23", "id": "ae17a5cd0fdccfb82cf1f71a01a4951fecf30db1dd54e6211e432150066050ad", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "engineId", "source_mapping": {"start": 1062, "length": 23, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [43], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.engineId (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#43) should be immutable \n", "markdown": "[MockedBaseEngineSetup.engineId](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L43) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L43", "id": "07cc736708511f9627443352bbb1f0151e4870fe58a6ddb758abb28f6afd4d57", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "option", "source_mapping": {"start": 696, "length": 35, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [25], "starting_column": 5, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.option (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#25) should be immutable \n", "markdown": "[MockedBaseEngineSetup.option](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L25) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L25", "id": "9daa99d2aa07223a6be0616ba872b75bf42e6573cca4980e04bc8f0d7515d7e3", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "oracle", "source_mapping": {"start": 797, "length": 26, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [30], "starting_column": 5, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.oracle (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#30) should be immutable \n", "markdown": "[MockedBaseEngineSetup.oracle](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L30) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L30", "id": "d64a8dc9a0669bd7adfdd13c8e1e0d08aec7e4a6f7e4ab757ef7eb99a78bc994", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "pomace", "source_mapping": {"start": 668, "length": 22, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [24], "starting_column": 5, "ending_column": 27}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.pomace (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#24) should be immutable \n", "markdown": "[MockedBaseEngineSetup.pomace](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L24) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L24", "id": "833e48795fbde3d6c5725de2c1125a2b3d9696b6ebaf09d031f77282ec97781b", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "productId", "source_mapping": {"start": 897, "length": 25, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [35], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.productId (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#35) should be immutable \n", "markdown": "[MockedBaseEngineSetup.productId](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L35) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L35", "id": "067dfd84f91fa2c6a99cf364bb438b85578a5383955396bd6270c2f29f23daac", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "productIdEthCollat", "source_mapping": {"start": 966, "length": 34, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [38], "starting_column": 5, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.productIdEthCollat (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#38) should be immutable \n", "markdown": "[MockedBaseEngineSetup.productIdEthCollat](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L38) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L38", "id": "c6a63558e7c644a25736d5e8dc4a5f0efa50e9206db40668d2c7d8f804ba5942", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "usdc", "source_mapping": {"start": 738, "length": 23, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [27], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.usdc (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#27) should be immutable \n", "markdown": "[MockedBaseEngineSetup.usdc](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L27) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L27", "id": "8bcbdfc0f46aa8a4fd5c238b3264f57292a5716df8b363431de7c254094efc52", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "usdcId", "source_mapping": {"start": 1007, "length": 21, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [40], "starting_column": 5, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.usdcId (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#40) should be immutable \n", "markdown": "[MockedBaseEngineSetup.usdcId](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L40) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L40", "id": "cd1427af4e933558b443cf9e7b2e55461faa58f645befd95256ae38d21cff70b", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "weth", "source_mapping": {"start": 767, "length": 23, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [28], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.weth (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#28) should be immutable \n", "markdown": "[MockedBaseEngineSetup.weth](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L28) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L28", "id": "52991594507f219470450aaa0b462f8e8363f13573de80c1dc922835f053bcc5", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "wethId", "source_mapping": {"start": 1034, "length": 21, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [41], "starting_column": 5, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "contract", "name": "MockedBaseEngineSetup", "source_mapping": {"start": 553, "length": 2047, "filename_relative": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "filename_short": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "starting_column": 1, "ending_column": 2}}}}], "description": "MockedBaseEngineSetup.wethId (test/unit-tests/base-engine/MockedBaseEngineSetup.sol#41) should be immutable \n", "markdown": "[MockedBaseEngineSetup.wethId](test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L41) should be immutable \n", "first_markdown_element": "test/unit-tests/base-engine/MockedBaseEngineSetup.sol#L41", "id": "eff06d42dfb01d1aa375e4aa189ae0b980a90997f0098d0f6adf335d003f445f", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "descriptor", "source_mapping": {"start": 692, "length": 47, "filename_relative": "test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "filename_short": "test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "is_dependency": false, "lines": [23], "starting_column": 5, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptionProxyTest", "source_mapping": {"start": 596, "length": 2133, "filename_relative": "test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "filename_short": "test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "starting_column": 1, "ending_column": 2}}}}], "description": "OptionProxyTest.descriptor (test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol#23) should be immutable \n", "markdown": "[OptionProxyTest.descriptor](test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol#L23) should be immutable \n", "first_markdown_element": "test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol#L23", "id": "b8ef72ae9c3bfd1ab1b9f8c40cff5bc280ba0beddc73c16cbe456a5c304989d1", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "implementation", "source_mapping": {"start": 635, "length": 51, "filename_relative": "test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "filename_short": "test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "is_dependency": false, "lines": [22], "starting_column": 5, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "contract", "name": "OptionProxyTest", "source_mapping": {"start": 596, "length": 2133, "filename_relative": "test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "filename_short": "test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "starting_column": 1, "ending_column": 2}}}}], "description": "OptionProxyTest.implementation (test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol#22) should be immutable \n", "markdown": "[OptionProxyTest.implementation](test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol#L22) should be immutable \n", "first_markdown_element": "test/unit-tests/PhysicalOptionTokenDescriptorProxy.t.sol#L22", "id": "505c2bab9b99a332227c7e16e6c8d8f0c72c2a1372b92da6aac1ac1870aa98bd", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "implementation", "source_mapping": {"start": 542, "length": 28, "filename_relative": "test/unit-tests/PomaceProxy.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceProxy.t.sol", "filename_short": "test/unit-tests/PomaceProxy.t.sol", "is_dependency": false, "lines": [21], "starting_column": 5, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceProxyTest", "source_mapping": {"start": 503, "length": 1708, "filename_relative": "test/unit-tests/PomaceProxy.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceProxy.t.sol", "filename_short": "test/unit-tests/PomaceProxy.t.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "starting_column": 1, "ending_column": 2}}}}], "description": "PomaceProxyTest.implementation (test/unit-tests/PomaceProxy.t.sol#21) should be immutable \n", "markdown": "[PomaceProxyTest.implementation](test/unit-tests/PomaceProxy.t.sol#L21) should be immutable \n", "first_markdown_element": "test/unit-tests/PomaceProxy.t.sol#L21", "id": "c7a3090882d0f2da03dd15d6baf64ea5eeef0914e593046ab0dd4c80fd47c099", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "pomace", "source_mapping": {"start": 576, "length": 20, "filename_relative": "test/unit-tests/PomaceProxy.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceProxy.t.sol", "filename_short": "test/unit-tests/PomaceProxy.t.sol", "is_dependency": false, "lines": [22], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceProxyTest", "source_mapping": {"start": 503, "length": 1708, "filename_relative": "test/unit-tests/PomaceProxy.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceProxy.t.sol", "filename_short": "test/unit-tests/PomaceProxy.t.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "starting_column": 1, "ending_column": 2}}}}], "description": "PomaceProxyTest.pomace (test/unit-tests/PomaceProxy.t.sol#22) should be immutable \n", "markdown": "[PomaceProxyTest.pomace](test/unit-tests/PomaceProxy.t.sol#L22) should be immutable \n", "first_markdown_element": "test/unit-tests/PomaceProxy.t.sol#L22", "id": "5b6a1121c6f541fb62b92984ee8d41b627e616ff696916d7925b8f1d640031ac", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "weth", "source_mapping": {"start": 602, "length": 22, "filename_relative": "test/unit-tests/PomaceProxy.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceProxy.t.sol", "filename_short": "test/unit-tests/PomaceProxy.t.sol", "is_dependency": false, "lines": [23], "starting_column": 5, "ending_column": 27}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceProxyTest", "source_mapping": {"start": 503, "length": 1708, "filename_relative": "test/unit-tests/PomaceProxy.t.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceProxy.t.sol", "filename_short": "test/unit-tests/PomaceProxy.t.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "starting_column": 1, "ending_column": 2}}}}], "description": "PomaceProxyTest.weth (test/unit-tests/PomaceProxy.t.sol#23) should be immutable \n", "markdown": "[PomaceProxyTest.weth](test/unit-tests/PomaceProxy.t.sol#L23) should be immutable \n", "first_markdown_element": "test/unit-tests/PomaceProxy.t.sol#L23", "id": "f83f0f16af4992ad18242be4b79ea015ae265009d32e7d37e72e36f5c1ac655e", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "pomace", "source_mapping": {"start": 491, "length": 20, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [19], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}}}], "description": "PomaceRegistry.pomace (test/unit-tests/PomaceRegistry.sol#19) should be immutable \n", "markdown": "[PomaceRegistry.pomace](test/unit-tests/PomaceRegistry.sol#L19) should be immutable \n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L19", "id": "d29dd18359e7d94c1762db2a7ca63544088ccc153f153022344fafe278c6bc2d", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "weth", "source_mapping": {"start": 517, "length": 22, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [20], "starting_column": 5, "ending_column": 27}, "type_specific_fields": {"parent": {"type": "contract", "name": "PomaceRegistry", "source_mapping": {"start": 453, "length": 2744, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98], "starting_column": 1, "ending_column": 2}}}}], "description": "PomaceRegistry.weth (test/unit-tests/PomaceRegistry.sol#20) should be immutable \n", "markdown": "[PomaceRegistry.weth](test/unit-tests/PomaceRegistry.sol#L20) should be immutable \n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L20", "id": "25168611c6076eef32672841be167015db4219bc77001ba906480ea24a396694", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "engine1", "source_mapping": {"start": 3332, "length": 23, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [105], "starting_column": 5, "ending_column": 28}, "type_specific_fields": {"parent": {"type": "contract", "name": "RegisterEngineTest", "source_mapping": {"start": 3264, "length": 1328, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}}}], "description": "RegisterEngineTest.engine1 (test/unit-tests/PomaceRegistry.sol#105) should be immutable \n", "markdown": "[RegisterEngineTest.engine1](test/unit-tests/PomaceRegistry.sol#L105) should be immutable \n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L105", "id": "86b4c8a42dc180940301d7201b07ab0a6bd8b0d7d64405f24f94f4284824be9f", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}, {"elements": [{"type": "variable", "name": "pomace", "source_mapping": {"start": 3306, "length": 20, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [104], "starting_column": 5, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "contract", "name": "RegisterEngineTest", "source_mapping": {"start": 3264, "length": 1328, "filename_relative": "test/unit-tests/PomaceRegistry.sol", "filename_absolute": "/Users/swissarmytowel/Development/grappa/core-physical/test/unit-tests/PomaceRegistry.sol", "filename_short": "test/unit-tests/PomaceRegistry.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144], "starting_column": 1, "ending_column": 2}}}}], "description": "RegisterEngineTest.pomace (test/unit-tests/PomaceRegistry.sol#104) should be immutable \n", "markdown": "[RegisterEngineTest.pomace](test/unit-tests/PomaceRegistry.sol#L104) should be immutable \n", "first_markdown_element": "test/unit-tests/PomaceRegistry.sol#L104", "id": "f52ae4737c4d8976b6209dc48f81af1844c71f19f3a5f46dbb5bbf528e3312d1", "check": "immutable-states", "impact": "Optimization", "confidence": "High"}]